《庚子年记》 之前老是据说: 今年是经济形势最差的一年,各企业都准备过冬。没想到2020仅一个月就战胜了最难过的2019。 笔者于2019年末裸辞,原计划2020春招再工做,怎耐赶上了武汉疫情。举国闭门谢客,固然也包括往日的金三银四。各大小企业纷纷缩减开支,立求生存下去,求职市场略显惨淡。值此之际,得到了可贵的学习时间,想趁着自由的时光巩固下知识,打牢基本功。程序员
回首之前作过的项目,愈发频繁地以为本身写的代码不够优雅,遂决定研读一下设计模式相关。在不少场景你们力求破,不破不立。但在软件上,我的以为立更重要: 约定大于配置。要立规范,要遵照范式,要引入设计模式等。遂从新开始学习、总结。一是为往后本身回顾总结,二是供一样初入设计模式大门的程序员们参考学习。做者水平有限,文中如有错漏之处,还望不吝指出。设计模式
开闭原则的意思是:对扩展开放,对修改关闭。程序应该经过扩展来实现变化,而不是经过修改已有代码来实现一个扩展和变化。简言之,是为了使程序的扩展性好,易于维护和升级。架构
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类能够出现的地方,子类必定能够出现。LSP 是继承复用的基石,只有当派生类能够替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也可以在基类的基础上增长新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,因此里氏代换原则是对实现抽象化的具体步骤的规范。学习
一、高层模块不该该依赖低层模块,二者都应该依赖其抽象;ui
二、抽象不该该依赖细节;设计
三、细节应该依赖抽象。代理
这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。它还有另一个意思是:下降类之间的耦合度。因而可知,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调下降依赖,下降耦合。server
也就是仅仅须要提供客户端须要的接口,其实就是客户端不该该依赖它不须要的接口;一个类对另外一个类的依赖应该创建在最小的接口上,就好比说你有一个抽象类里面有不少接口,也就是说防止一个抽象类中汇总了不少的抽象方法,而要分开来其实就是一个接口的隔离。根据咱们的需求去实现该实现的方法,不去实现其余方法,其实就是接口隔离原则。对象
又称最少知道原则。若是两个类没必要彼此直接通信,那么这两个类就不该该直接发生做用。这就要求咱们在设计类的时候,尽可能下降类的成员的访问权限。它的根本思想其实也是松耦合。继承
尽可能使用对象组合,而不是继承来达到复用的目的。这样能够下降类与类之间的耦合度
设计模式根据目的能够分为三大类,分别是建立型设计模式、行为型设计模式以及结构型设计模式。 建立型模式涉及到将对象实例化,这类模式都提供一个方法,将客户从所须要实例化的对象中解藕。 行为型模式涉及到类和对象如何交互及分配职责。 结构型模式可让你把类或对象组合到更大的结构中。
建立型设计模式
行为设计模式
结构型设计模式
公众号【当我赶上你】