设计模式1

来源:互联网 发布:淘宝产品图片拍摄技巧 编辑:程序博客网 时间:2024/06/05 03:08

一、简单工厂模式


简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。

优点:

缺点:违背了开闭法则

二、策略模式



策略模式:定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
简单工厂:将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。
简单工厂严格意义上不是一种设计模式,只能是一种良好的编程习惯。

优点:策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,他可以用相同的方式调用所有的算法,减少了各种算法类和使用算法类之间的耦合。且简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。

只要在分析过程中听到需要早不同时间应用不同的业务规则,就可以考虑使用策略模式处理。

缺点:客户端必须知道所有存在的算法


三、装饰模式


component是定义一个对象接口,可以给这些对象动态的添加职责,concretecomponent是定义了一个具体对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了component,来扩展component类的功能,对component来说,是无需知道Decorator存在的。

优点:把每个要装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象。因此,当需要执行特殊行为时,客户端可以再运行时根据需要有选择的、按照顺序的使用装饰功能包装对象。

四、代理模式



(1).职责清晰
真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。
(2).代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了的作用和保护了目标对象的作用。

0 0
原创粉丝点击