设计模式总结_第1页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计模式总结(一)定义 设计模式是面对对象语言程序设计的一种模式指导思想,旨在提高代码的可扩展性、可维护性以及可重复性和高灵便度。 可扩展性:主要是面对接口编程,从而做到解耦。 可维护性:设计模式考究高内聚低耦合,强调封装变幻等,能将特定的功能封装在一起,有利于维护。 可重复性:封装、继承和多态使得易于复用。 (二)分类 可分为创建型、结构型、行为型。 1.创建型 对象的创建会消耗掉系统的无数资源,所以单独对对象的创建举行讨论,从而能够高效地创建对象就是创建型模式要探讨的问题。 (1)容易工厂模式(simplefactory) (2)工厂办法模式(factorymethod)待总结 (3)抽象

2、工厂模式(absactfactory)待总结 (4)创建者模式(builder)待总结 (5)原型模式(prototype)待总结 (6)单例模式(singleton)待总结 2结构型 如何设计对象的结构、继承和依靠关系会影响到后续程序的维护性、代码的茁壮性、耦合性等。 (1)外观模式(facade)待总结 (2)适配器模式(adapter)待总结 (3)代理模式(proxy)待总结 (4)装点模式(decorator)待总结 (5)桥模式(brge)待总结 (6)组合模式(composite)待总结 (7)享元模式(flyweight)待总结 3行为型模式 假如对象的行为设计的好,那么对象的

3、行为就会更清楚,它们之间的配合效率就会提高。 (1)模板办法模式(templatemethod)待总结 (2)观看者模式(observer)待总结 (3)状态模式(state)待总结 (4)策略模式(strategy)待总结 (5)职责链模式(chainof responsibility)待总结 (6)模式(command)待总结 (7)拜访者模式(visitor)待总结 (8)中介者模式(miator)待总结 (9)备忘录模式(memento)待总结 (10)迭代器模式(iterator)待总结 (11)说明器模式(interpreter)待总结 (三)设计模式的原则 1.单一职责原则 (1

4、)定义 就一个类而言,应当惟独一个可能引起其变幻的缘由。 (2)缘由 提供内聚性。 2.封装变幻原则 (1)定义 将常常变幻的部分举行抽象封装起来,以后需要修改的时候对这一部分举行处理则可,避开影响其他不变的部分。 (2)缘由 需求是变幻的,有效的封装能提供內聚性。 3.开放封闭原则 (1)定义 指软件实体,包括类、模块、函数等应当支持扩展,但不应当修改 (2)缘由 需求是变幻的,在面向变幻的需求时对程序的改动通过添加新代码而不是修改现有的代码,使得系统能在第一个版本上的接口继续开发,而修改可能会导致牵一发而动全身,比如说类a的 print()用于打印“hello”,且类a在类b、c和类d中用

5、法。现在类d,其用法类a,不仅需要打印,而且需要先猎取输入,再将“hello”和输入打印出来。假如挺直修改类a的函数,则b和 c中的类a就不满足本来的要求了,从而导致棘手的发生。假如支持扩展,按照本来的接口新写一个类a',用法同样的接口实现先输入再打印的功能,然后在类d调用a'则可。 4.里氏代换原则 (1)假如客户(调用者)用法父类,那么一定可以用法子类去代换父类,而且客户不会感知到这一变幻,从而解藕。 (2)可以通过对子类的修改和增强新功能,使得调用者用法了新的功能而且无需做过多的修改。 5.依靠倒转原则 (1)定义 指抽象不应当依靠于详情,详情应当依靠于抽象高层模块不应当

6、依靠于底层模块,两个都应当依靠抽象。 (2)缘由 普通来讲,高层模块是依靠于底层模块的,比如说去调用库函数,但这会影响耦合性,使之变大。举个例子,一开头用法了mysql数据库,现在想换为sqlserver,假如不是依靠于抽象,则需要举行大幅度修改,由于每种数据库的接口都不一样,但假如我之前对其抽象了,则依靠于抽象,现在改数据库,我只需要重新实现抽象的接口就可以了。 6.最少学问原则 (1)定义 假如两个类不必挺直通信,那么这两个类就不应该发生挺直的互相作用。假如一个类需要调用另一个类的某一办法的话,可以通过第三者来转发这个调用。 (2)缘由 类之间的耦合越弱,越利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及。 例如:类a在类b中new了100次,假如需要将类a变为类b,则需要改100次,但假如是在工厂类,则只需要在工厂里改一次。 7.聚合组合复用原则 (1)定义 尽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论