![](https://img-blog.csdnimg.cn/20190909142515393.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
Code技术分享
WX:17873041739,有任何问题可以联系我
展开
-
程序设计六大原则之开放封闭原则
一.开饭封闭原则(Open-Closed Principle,OCP)1.定义:软件实体(包括类、模块、函数)应该为扩展而打开,为修改而关闭。大概意思就是:一个软件实体应该通过扩展来实现变化,而不是通过修改原有的代码来实现变化2.实现:开闭原则实现关键是抽象抽象基类:把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规定出所有的具体实现必须提供的方法的特征。作为系统设计...原创 2019-09-09 14:07:08 · 527 阅读 · 0 评论 -
程序设计六大原则之单一职责原则
单一职责原则(Single Responsibility Principle,SRP)定义:一个类只有一个发生变化的原因。通俗的说,一个类只负责一项职责。又称单一功能原则,适用于接口、方法、类原理:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力优点:降低类的复杂度提高类的可读性提高系统的可维护性变更...原创 2019-09-10 09:24:44 · 284 阅读 · 0 评论 -
程序设计六大原则之里式代换原则
里式代换原则(Liskov Substitution Principle,LSP)定义:任何基类可以出现的地方,子类一定可以出现里氏代换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为里氏代换原则是对开闭原则的补充,实现开闭原则的关键步骤是抽象化而基类与子类的继承关系就是抽象化的具体实现...原创 2019-09-11 16:38:18 · 384 阅读 · 0 评论 -
程序设计六大原则之依赖倒置原则
依赖倒置原则(Dependence Inversion Principle,DIP)定义:高层模块不能依赖低层模块,两者都应该依赖于抽象(模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其关系是通过接口或抽象类发生)抽象不应该依赖于细节(接口和抽象类不依赖于实现类)细节应该依赖于抽象(实现类依赖于接口或抽象类)每一个逻辑的实现都是由原子逻辑,不可分割的原子逻辑就是低层...原创 2019-09-12 10:24:34 · 320 阅读 · 0 评论 -
程序设计六大原则之迪米特法则
迪米特法则(Law of Demeter)定义:迪米特法则又称为最少知识原则(Least Knowledge Principle,LKP)一个对象应当对其他对象有尽可能少的了解,不和陌生人说话对于OOD(面向对象设计)来讲一个软件实体应当尽可能少的与其它实体发生相互作用每个软件单位对其它的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位优点:降低类与...原创 2019-09-15 14:21:59 · 179 阅读 · 0 评论 -
程序设计六大原则之接口隔离原则
接口隔离原则(Interface Segregation Principle)定义:客户端不应该依赖他不需要的接口类间的依赖关系应该建立在最小的接口上简而言之:要为各个类建立他们需要的专用接口,而不要试图建立一个很庞大的接口供他们调用接口隔离原则是对接口的使用进行约束规范的一个原则优点:将庞大的接口分解为多个粒度小的接口,可以预防外来变更的扩散(避免接口污染)提高系...原创 2019-09-16 09:07:10 · 193 阅读 · 0 评论 -
设计模式之单例模式(Singleton Pattern)
单例模式实现的四种方式1.通过静态对象实现 public class Singleton { //私有化构造函数,阻止类外部的任何代码创建实例 private Singleton() { } //静态变量:会在类型第一次使用时候初始化,而且只初始化一次 private stat...原创 2019-09-26 02:35:36 · 134 阅读 · 0 评论 -
设计模式之抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。...原创 2019-10-04 16:37:22 · 216 阅读 · 0 评论