设计模式与原则
全栈工程师之路
此时不努力,何时努力
展开
-
设计原则之单一职责
单一原则:一个类,应当只有一个引起他变化的原因;即一个类只有一个职责单一原则的优点:降低类的复杂性 提高累的可读性 提高代码的可维护性和复用性 降低因变更引起的风险单一职责原则提出了一个便携程序的标准,用“职责” 或者“变化原因”来衡量接口或者类设计是否优良,但是“职责”或则“变化原因”都是项目而异,因环境而异。就是按照一定相似的业务逻辑或者基本功能分成不同的类。比如:查询...原创 2019-06-08 15:58:04 · 82 阅读 · 0 评论 -
设计原则之里氏替换原则(LSP)
LSP(里氏替换原则)两种定义:类型T是类型S的子类型 所用引用基类的地方必须能透明的使用期子类对象为什么要使用里氏替换原则让继承中的“利”大于“弊”发挥最大作用,同时减少“弊”所带来的麻烦(继承的优点是什么?缺点?)里氏替换要求凡是使用基类的地方,子类一定适用,因此子类必须具备基类的全部接口设计模式中体现里氏替换原则的有:策略模式、组合模式、代理模式 ...原创 2019-06-08 16:34:56 · 160 阅读 · 0 评论 -
设计原则之依赖倒置原则(DIP)
什么是依赖倒置?高层模块不应该依赖底层模块,两者都依赖其抽象对象 抽象不依赖细节 细节应该依赖于抽象传统的过程性系统设计办法倾向于高层次的模块依赖于低层次的模块;抽象层次依赖于具体层次。“倒置”原则将这个错误的依赖关系倒置依赖倒置原则是JavaBean、EJB和COM等组件设计模型背后的基本原则依赖倒置原则的应用情景:显示生活中,司机只要会开车,就可以开奔驰车,也可以开宝马...原创 2019-06-08 17:41:20 · 243 阅读 · 0 评论 -
设计原则之接口隔离原则(ISP)
接口的概念接口隔离原则:一个类对另外一个类的依赖性应当是建立在最小的接口上的 一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大街口,这是对角色和接口的污染。因此使用多个专门的接口比使用单一的总接口要好 不应该强迫依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构,既不要强迫客户使用它们不用的方法,否则这些客户就会面...原创 2019-06-08 18:37:24 · 176 阅读 · 0 评论 -
设计原则之迪米特法则(LoD)
一、迪米特法则定义迪米特法则又叫最少知识原则(LKP),意思是一个对象应当对其他对象尽可能少的了解。几种表述方式:只与你直接的朋友们通信 不要跟“陌生人”说话 每一个软件单位对其他的单位都只有最少的了解,这些了解仅局限于那些与本单位密切相关的软件单位实例:生活中QQ的朋友圈不是共同好友也能看到不是好友的评论微信不是共同好友则看不到不是好友的评论(符合迪米特法则)pu...原创 2019-06-08 19:04:17 · 561 阅读 · 0 评论 -
设计模式--创建型模式之单例模式
创建型模式是对类的实例化过程的抽象化,能够提供对象的创建和管理职责。创建型模式共有5中:单例模式 工厂模式 抽象工厂模式 建造者模式 原型模式单例模式定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式的主要作用:确保一个类只有一个实例存在。单例模式可以用建立目录、数据库连接等需要单线程操作的场合、用于实现对系统资源的控制使用场景要求...原创 2019-06-08 20:28:16 · 153 阅读 · 0 评论