摘要:
设计模式分类: 创建型模式。 结构型模式。 行为模式。 23种设计模式,如何记。面向对象的系统中有很多对象,创建型模式解决的问题就是如何创建对象,何时创建对象,它努力的让代码不要太多的关注对象的具体类型,不用关注对象的创建细节,而知需要了解对象的抽象类型,创建对象的工作由创建对象的工厂来实现。面向对 阅读全文
摘要:
组合/聚合复用原则(LSP) 定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的。重用的方式: 继承、组合、聚合解释说明: 继承:在我们想复用代码时,我们一般会优先想到继承,但是具有继承关系的两个类是耦合度最高的两个类。(父类改了子类可能会受影响,子类改了父类也可能会受影响) 如果父类 阅读全文
摘要:
迪米特原则(LOP) 定义:一个对象应当对其他对象尽可能少的了解。解释说明: LOP原则也叫最少支持原则,也就是一个对象应当对其他对象尽可能少的了解,反过来,其他对象也应当尽量少的知道我这个对象,尽可能少的被其他对象所了解。通俗的讲就是不要跟陌生人说话。如果两个类不需要彼此通信的话,那么这两个类就不 阅读全文
摘要:
接口隔离原则(ISP) 定义:使用多个专门的接口比使用单一的总接口要好。即不要把鸡蛋都放到一个篮子里。 好处:比较灵活、方便,不想实现的或不用实现的可以不实现。解释说明: 大部分人都喜欢用一个接口把需要用到的方法全部声明出来,但是ISP建议我们使用多个专门的接口比使用单一的总接口要好,也就是一个接口 阅读全文
摘要:
依赖倒置原则(DIP) 定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 好处:稳定性、可维护性、可扩展性。 概述:DI就是依赖倒置的意思,也可称为控制反转,我们以前编写结构化的程序当中,也就是C语言这样的语言时,高层模块依赖于底层模块,也就是调用者和被 阅读全文
摘要:
里氏替换原则(LSP)定义:在任何父类出现的地方都可以用它的子类类替换,且不影响功能。解释说明:其实LSP是对开闭原则的一个扩展,在OO思想中,我们知道对象是由一系列的状态和行为组成的,里氏替换原则说的就是在一个继承体系中,对象应该具有共同的外在特性,使用LSP时,如果想让我们的程序达到一个父类出现 阅读全文
摘要:
开闭原则(OCP)定义:对扩展开发,对修改关闭。好处: 适应性和灵活性。 稳定性和延续性。 可复用性与可维护性。 解释说明:开闭原则指的是两方面:对功能扩展开发,对修改进行关闭;有时当用户要求或需求发生变化时,我们不得不打开原来的代码进行修改,进行功能的扩展或增加,这种设计如果应用到我们以后的项目开 阅读全文
摘要:
单一职责原则(SRP) 定义:系统中的每一个类都应该只有一个职责。 好处:高内聚、低耦合。 解释说明: 单一职责也就是说我们应该让一个类或一个对象只做一件事情,每个类所要关注的就是自己要完成的职责是什么,能够引起这个类变化的原因也应该只有一个,这也是后面提到的所有的设计模式都会遵守的一个原则。 高内 阅读全文