浙江工商大学设计模式复习

浙江工商大学设计模式复习

ID:15029543

大小:1.00 MB

页数:15页

时间:2018-08-01

浙江工商大学设计模式复习_第1页
浙江工商大学设计模式复习_第2页
浙江工商大学设计模式复习_第3页
浙江工商大学设计模式复习_第4页
浙江工商大学设计模式复习_第5页
资源描述:

《浙江工商大学设计模式复习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验:创建型模式:工厂、单件结构型模式:适配器、装饰、代理行为型模式:命令、策略、观察者重要了解设计模式组织分类创建型模式:(对象的创建工作延迟到子类或者另一个对象中)工厂模式、建造模式、原型模式、单例模式重点内容:工厂模式的意图和适用性。结构型模式:(使用继承机制来组合类和对象)适配器模式、桥接模式、组合模式、装饰模式、外观模式、轻量级模式、代理模式重点内容:适配器模式、组合模式和装饰模式的意图和实现方法。行为型模式:(使用继承了描述算法和控制流)责任链模式、命令模式、观察者模式、策略模式、迭代器模式、模板方法模式、中介者模式重点内容:策略模式与观察者模式的意图和实现方

2、法。设计原则低耦合:类之间的关系降低高内聚:类具有独立的责任关系:相互矛盾的,低耦合势必导致低内聚、高内聚势必导致高耦合。从技术角度考虑软件应具有较好的:可维护性、可扩展性、可重用性。OpenClosedPrinciple、里氏代换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)、合成/聚合复用原则(CARP)、迪米特法则(LoD)创建型模式简单工厂(simplefactorypattern)意图:根据提供给它的数据,返回几个可能类中的一个类的实例。优点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任

3、,而仅仅"消费"产品。实现了对责任的分割。缺点:工厂类一旦不能正常工作,整个系统都要受影响;添加新产品要修改工厂类;静态,不可继承。详细介绍连接:http://blog.csdn.net/weiwenlongll/article/details/6918164工厂方法(factorymethod)意图:定义一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。前雾灯适用性:当一个类不知道他所必须创建的类的时候。当一个类希望由它的子类来指定它所创建的对象的时候。详细介绍连接:http://www.cnblogs.com/cbf4life/

4、archive/2009/12/20/1628494.html抽象工厂(abstractfactory)意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。指一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象。适用性:一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有形态的工厂模式都是重要的。这个系统有多于一个的产品族,而系统只消费其中某一产品族。同属于同一个产品族的产品是在一起使用的,这一约束必须在系统的设计中体现出来。(助记:所有男人(黑、白、黄)相同的生产线,男人女人不同的生产线)系统提供一个产品类的库

5、,所有的产品以同样的接口出现,从而使客户端不依赖于实现。小编悟语:concreteFactory就是挑选原生态不同等级结构中的产品,然后组装形成新的产品族。与工厂方法的区别:工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则针对的是多个产品等级结构。详细介绍连接:http://www.cnblogs.com/cbf4life/archive/2009/12/23/1630612.html简单工厂模式、工厂模式、抽象工厂模式之间的区别工厂模式,也叫做说虚构造器,在简单工厂中间插入了一个具体产品工厂,这个工厂知道产品构造时候的具体细节,而简单工厂模式的产品具体构造细节是在

6、一个个if/else分支,或者在switch/case分支里面的。工厂模式的好处就在于将工厂和产品之间的耦合降低,将具体产品的构造过程放在了具体工厂类里面。在以后扩展产品的时候方便很多,只需要添加一个工厂类,一个产品类,就能方便的添加产品,而不需要修改原有的代码。而在简单工厂中,如果要增加一个产品,则需要修改工厂类,增加if/else分支,或者增加一个case分支,工厂模式符合软件开发中的OCP原则(opencloseprinciple),对扩展开放,对修改关闭。抽象工厂模式:这个模式我总是感觉和builder模式非常相似。工厂方法模式提供的是对一个产品的等级模式,,而抽

7、象工厂方法提供的是对多个产品的等级模式,注意,这里的多个具体产品之间是相互耦合的,也就是说这里的抽象工厂提供的产品之间是存在某种联系的。建造者模式(builder)意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用性:当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。当构造过程必须允许被构造的对象有不同的表示时。优点:建造者模式将一个复杂对象的生成责任作了很好的分配。它把构造过程放到指挥者的方法中,把装配过程放到具体建造者类中。缺点:如果产品之间的差异很大,这就需要借助工厂方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。