设计模式总结

  |   0 评论   |   0 浏览

定义

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

设计原则

开闭原则

开闭原则(Open Closed Principle,OCP)是由"Bertrand Meyer"提出的。原文是:"Software entities should be open for extension,but closed for modification"。在[面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。

里式代换原则

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。

合成复用原则

合成复用原则,又叫 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP)就是说要少用继承,多用组合/聚合关系来实现。

依赖倒换原则

依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

接口隔离原则

接口隔离原则(Interface Segregation Principle,ISP):指的是客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。也就是说,接口要尽量细化,同时接口中的方法要尽量少。

单一职责原则

单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。

迪米特法则

只迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),一个类对于其他类知道的越少越好。也就是说,如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。

分类

根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 大类,每一类又包含一些子类,共计23种。

创建型模式

创建型模式是对类的实例化过程的抽象化,能够提供对象的创建和管理职责。创建型模式共有5种:

结构型模式

结构型模式描述如何将类或者对象结合在一起形成更大的结构。结构型模式的目的是通过组合类或对象产生更大结构以适应更高层次的逻辑需求,包括以下 7种模式:

行为型模式

行为型模式是对不同的对象之间划分责任和算法的抽象化。行为型模式包括以下11个模式: