
有趣的设计模式
文章平均质量分 88
以生活为例,讲解简单的java设计模式,贴近生活,通俗易懂
Pluto372
记录自己的学习笔记,同时方便自己忘了可以容易复习
展开
-
设计模式——享元模式
享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。 何时使用: 1、系统中有大量对象。 2、这些对象消耗大量内存。 3、这些对象的状态大部分可以外部化。 4、这些对象可以按照内蕴状态分为很多组,当把外蕴对象从对象中剔除出来时,每一组原创 2021-11-08 19:30:00 · 265 阅读 · 0 评论 -
java设计模式——策略模式
策略模式 介绍 意图:策略模式定义了一系列的算法,并将每一个算法封装起来,使每个算法可以相互替代,使算法本身和使用算法的客户端分割开来,相互独立。 主要解决: 在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 何时使用: 一个系统有许多许多类,而区分它们的只是他们直接的行为。 如何解决: 将这些算法封装成一个一个的类,任意地替换。不是如何来实现算法,而是如何组织和调用这些算法,从而让我们的程序结构更加的灵活、可扩展。 关键代码: 实现同一个接口。 优点: 1、算法可以自由切换。 2、原创 2021-10-26 16:55:29 · 335 阅读 · 0 评论 -
代理模式
代理模式 SpringAOP和SpringMVC的底层就是代理模式实现的 代理模式分类: 静态代理 动态代理 静态代理: 角色分析: 抽象角色:一般使用接口或者抽象类解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色,我们一般会做附属操作 客户:访问代理对象的人 静态代理理解1: 代码实现: Rent . java 即抽象角色 //抽象角色:租房 public interface Rent { public void rent(); } Host . java 即真实角原创 2020-12-29 21:44:10 · 180 阅读 · 0 评论 -
面向对象编程七大编程原则概述详解
面向对象编程原则概述 1.1 软件的可维护性和可复用性 可维护性较低的软件设计,通常由于如下四个原因造成: 过于僵硬(Rigidity) :灵活性不够 过于脆弱(Fragility) :健壮性(鲁棒性) 不够复用率低(Immobility) :不能重用 黏度过高(Viscosity) :高耦合,关联性太高 一个好的系统设计应该具备如下三个性质: 可扩展性(Extensibility) 灵活性(Flexibility) 可插入性(Pluggability) 程序设计原则:高内聚,低耦合 面向对象编程的原创 2020-12-11 20:39:07 · 1714 阅读 · 0 评论 -
通俗易懂的装饰器模式
装饰模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 介绍: 意图: 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。 主要解决: 一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。何时使用:在原创 2020-11-04 20:28:57 · 273 阅读 · 0 评论 -
java-正则表达式
正则表达式 定义:正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 作用:用于测试是否匹配指定字符串的,通常用来检索、替换那些符合某个模式的文本。 测试字符串的某个模式。 例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 替换文本。 可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 根据模式匹配从字符串中提取一个子字符串。 可以用来在文本或输入字段中查找特定原创 2020-11-04 21:01:14 · 411 阅读 · 0 评论 -
java设计模式之观察者模式
观察者模式 定义:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 介绍 意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决: 一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。 何时使用: 一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。 如何解决:原创 2020-11-04 20:34:19 · 166 阅读 · 0 评论 -
java设计模式之单例模式
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 饿汉式: /* * 单例模式:确保系统中某个对象的唯一性,原创 2020-11-04 20:31:23 · 151 阅读 · 0 评论