java学习笔记-设计模式1(简介)

 

1 简介

  设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

2 设计原则  

面向对象有几个原则:

  开闭原则Open Closed PrincipleOCP

  里氏代换原则Liskov Substitution PrincipleLSP

  依赖倒转原则Dependency Inversion PrincipleDIP

  接口隔离原则Interface Segregation PrincipleISP

  合成/聚合复用原则Composite/Aggregate Reuse PrincipleCARP

  最少知道原则Principle of Least KnowledgePLK,也叫迪米特法则)。

开闭原则具有理想主义的色彩,它是面向对象设计的终极目标。其他几条,则可以看做是开闭原则的实现方法。设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。

2.1 开闭原则 

  此原则是由Bertrand Meyer提出的。原文是:“Software entities should be open for extension,but closed for modification”。就是说模块应对扩展开放,而对修改关闭。模块应尽量在不修改原(是“原”,指原来的代码)代码的情况下进行扩展。

2.2 里氏代换原则

  如果调用的是父类的话,那么换成子类也完全可以运行。里氏代换原则是继承复用的一个基础。只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对-原则的补充。实现-原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

1.3 依赖倒转原则

指在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单的说,子类型能够替换掉它们的父类型。依赖性倒转其实可以说是面向对象设计的标志,用哪种语言编程并不是很重要。

1.4 接口隔离原则

定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。有降低类之间的耦合度的意思。

1.5 合成/聚合复用原则

合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。它的设计原则是:要尽量使用合成/聚合,尽量不要使用继承。

1.6 最少知道原则

一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

3  设计模式

设计模式分为三种类型,共23种。

创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

 

  

  参考:http://blog.csdn.net/zhangerqing/article/details/8194653

     Gof设计模式 中文版

原文地址:https://www.cnblogs.com/gxl00/p/5010100.html