设计模式
工蚁
好好学习,天天向上
展开
-
设计模式(3)之外观模式
外观模式 为一个复杂的模块提供一个唯一的调用接口,降低了对象调用与具体实现之间的耦合性 核心 封装交互,简化调用 需求环境 如果一个子系统中有多个不同的模块 ,client需要通过组合这些不同的模块来实现某一个具体的需求,那么可以穿件一个facade类,这个类持有不同模块的对象,可以在facade类中组合不同的模块来实现不同的需求,这样client就不用处理组合的步骤了,这样就降低了调用...原创 2019-03-05 14:29:13 · 83 阅读 · 0 评论 -
设计模式(1)之建造者模式(Builder)
建造者模式 给定一个模板,通过配置不同的属性,产生不同的对象 常用建造对象的两种方式比较 如果用重载构造方法的办法产生对象,那么如果类属性过多, ①需要写很多重载构造方法 ②由于属性过多可能不知道对应位置的是哪个属性 ③需要对你不需要的一些属性赋予默认值 如果用空构造方法产生对象,然后用set()给属性赋值, ①重复调用set(),可能导致c端拿到不完整的对象 ②在多线程的情况下,无法保证...原创 2019-02-26 14:47:49 · 92 阅读 · 0 评论 -
设计模式(2)之模板方法模式
模板方法 在基类中定义算法框架,将不可变部分算法,放到基类中,将可变部分算法延迟到子类中实现,使子类在不改变算法结构的前提下,完成自己的特殊部分算法 注意点: 为了保证算法结构不被子类改变,要在定义算法结构的方法上加final修饰符 自我理解 抽离算法结构,具体算法延时实现 需求场景 算法步骤相同,但每步的具体实现不同 代码模板: /** * 人的模板类 */ public abs...原创 2019-03-04 11:33:26 · 82 阅读 · 0 评论 -
设计模式(5)只适配器模式
适配器模式是把一个类的接口转变成客户端需要的另一个接口 有3中类型 类适配器,对象适配器和接口适配器 主要角色有三个类: 被适配类src 适配输出接口des 适配器adapter 运用场景: 将一个类转换成系统需要的另一个接口 (类适配器) 统一的输出接口,不同的输入类型(对象适配器) 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的...原创 2019-05-05 11:00:58 · 70 阅读 · 0 评论 -
设计模式(4)之观察者模式
如果一个类发生变化,依赖于该类的若干类都会接到通知,并作出相应的相应 观察者模式有两个角色,一个是观察者,一个是被观察者,被观察者内部维护一个观察者的集合,当被观察者发生变化,遍历该集合,通知所有观察者对象,然后观察者根据各自不同的需求做出不同的响应. 代码实例: //观察者基类 public interface Observer { void update(); } //观察...原创 2019-04-30 11:20:48 · 68 阅读 · 0 评论