设计模式简单理解

来源:互联网 发布:ajax传值json给php 编辑:程序博客网 时间:2024/05/20 12:21

开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码。

1.单例模式:对于大型对象可以降低开销,对于重要功能模块比如交易模块可以保证独立控制。单例模式有很多种实现方式,要针对实际项目采用最佳实现方式。

2.工厂模式:为了满足开闭原则,一般使用抽象工厂模式。

3.观察者模式:又称订阅-发布模式,例子:订阅功能,第三方提供一个订阅功能,我选择订阅以后我就作为一个观察者,第三方有更新的时候会通知我。

 

4.策略者模式:例子:比较器,Arrays.sort()方法中需要放实现比较器接口的对象,比较器中的compareTo()方法不同的实现就相当于不同的策略锦囊

 

5.适配器模式:类,对象,接口三种适配器模式,例子: InputStreamReader继承Reader,是对象适配器,字节流对象传入以后可以当做字符流使用。

 

6.模板方法模式:一个抽象类把需要执行的主方法固定,然后会改变的方法定义成抽象方法

 

7.装饰模式:就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。例子:字节流外面的缓冲流

8.代理模式:就是采用一个代理类调用原有的方法,且对产生的结果进行控制。实现机制和装饰模式类似。

装饰模式应该为所装饰的对象增强功能;
代理模式对代理的对象施加控制,并不提供对象本身的增强功能。

按对程序的理解,装饰模式是增加功能,代理模式是在限制。


9.外观模式:解决类之间的依赖关系,比如CPU,Memory,Disk,Company各是一个类,其他三个类的关系被放在Company类中。


10.桥接模式:例子:JDBC中对不同数据库的使用。


11.享元模式:对象共享。例子:数据库连接池

0 0
原创粉丝点击