![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
EASON_93
这个作者很懒,什么都没留下…
展开
-
策略模式(如何干掉 if else)
策略模式1.介绍策略模式定义了一系列的算法,并将每一个算法封装起来,使每个算法可以相互替代,使算法本身和使用算法的客户端分割开来,相互独立。策略模式基于的一种开闭原则开闭原则: 对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以改变模块的功能。 ...原创 2019-05-27 17:57:45 · 6763 阅读 · 1 评论 -
《Head First设计模式》读书笔记一 策略模式
读书笔记策略模式用算法簇去定义,封装起来;这种模式可以是算法独立起来,更加好的调用。Note:在界面调用的时候尽量是用接口定义而不是方法定义//不推荐Dog dog=new Dog(); //推荐,Dog是Animal的实现类Animal dog=new Dog(); 这种模式的定义可以方便的使用,扩展性也会比较好算法推荐的模式:public class DuckDe...原创 2019-06-11 20:16:10 · 141 阅读 · 0 评论 -
《Head First 设计模式》读书笔记二--观察者模式
观察者模式类图自我实现主题接口:public interface Subject {//最简单的订阅,取消订阅,通知订阅者 void register(Observe observe); void unregister(Observe observe); void notifyObserve();}主题实现:public class MessageDa...原创 2019-06-11 22:25:04 · 158 阅读 · 0 评论 -
《Head First 设计模式》读书笔记五--建造者模式
建造者模式简要通过建造者模式可以简化复杂对象的创建,可以通过工厂模式来创建小的对象;然后装饰者来组装。工厂模式和建造者模式的区别在于:工厂给出了一个响应的产品,而建造者是蓝图,可以通过不同的例子建造出不同的产品。工厂创造出东西,建造者模式去选择使用东西来做出蓝图;后续使用简要的例子可以学习StringBuilder,append的方法就是一个例子。它是通过一个char的数组来一直往里...原创 2019-07-01 19:18:32 · 351 阅读 · 0 评论 -
《Head First 设计模式》读书笔记六--克隆模式
克隆模式简介深入理解克隆模式,出现的意义在于反复创建一样的对象,影响JAVA程序的效率。克隆模式的优势在于底层调用了C,实现了内存之间的复制。克隆模式区分:1.浅克隆:在复制对象的时候里面的对象也是一起复制的过来,即调用的还是同一内存对象。2.深克隆:里面内存对象是重新创建一份的使用区别:浅克隆在修改母对象的时候,子对象也会修改响应的赋值;深克隆则不会影响响应的赋值Note:基本...原创 2019-07-02 18:29:02 · 141 阅读 · 0 评论 -
《Head First 设计模式》读书笔记三--单例模式
单例模式饿汉模式加载类的时候直接加载,加载速度快;但是类没用的时候就会浪费资源public class SingletonDemo1 { private static SingletonDemo1 singletonDemo1=new SingletonDemo1(); /* * 内部构造类,禁止外部加载 */ private SingletonD...原创 2019-06-28 21:37:42 · 92 阅读 · 0 评论 -
《Head First 设计模式》读书笔记四--工厂模式
工厂模式通过工厂模式来达到一个类创建多个不同对象的目的。简单工厂通过创建多个判断条件或者是多个方法,来达到创建多个类的目的。好处:这样能规避调用者对于内部实现细节的了解坏处:这个违反了开闭原则(对于修改是闭合的,对于扩展是开放的);问题是这个东西如果需要扩展就需要修改老的业务代码。public class SimpleFactory { private static Car c...原创 2019-06-28 21:38:24 · 126 阅读 · 0 评论