设计模式
no_明日复明日
天弃自弃之人,天佑自强之心
展开
-
接口隔离原则
定义使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。描述根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种...原创 2019-05-28 20:54:44 · 310 阅读 · 0 评论 -
依赖倒转原则
开篇如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则(DIP原则)就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。定义抽象不应该依赖于细节,细节应该依赖于抽象。换言之就是针对接口编程,而不应该针对实现编程。描述依赖倒转原则要求我们在程序传递参数的时或者关联关系时,尽量引用层次高的抽象层或接口层,即使用接口或抽象类进行变量类型声明、参数类型声明、方法返回类...原创 2019-05-28 21:00:00 · 201 阅读 · 0 评论 -
里氏替换原则
开篇如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1代换o2时,程序P的行为没有变化,那么类型S是类型T的子类型。定义所有引用基类(父类)的地方必须能透明地使用其子类的对象。描述里氏替换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何影响,反过来则成立,即:如果一个软件实体使用的是一个子类对象,那么...原创 2019-05-28 21:02:04 · 171 阅读 · 0 评论 -
开闭原则理论
开篇开闭原则(OCP原则):面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。定义一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。软件实体:软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个独立的类。特征:对扩展是开放的,对修改是封闭的。描述任何软件都需要面临一个很重要的问题,即它们的需求会随...原创 2019-05-28 21:10:52 · 839 阅读 · 0 评论 -
单一原则理论
开篇单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。定义一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其...原创 2019-05-28 21:12:13 · 498 阅读 · 0 评论