六大设计原则
小目标一个亿
这个作者很懒,什么都没留下…
展开
-
六大设计原则-依赖倒置原则
什么是依赖倒置原则? 高层模块不应该依赖于低层模块,二者应该通过抽象依赖,而不是依赖细节 为什么要使用依赖倒置原则? 面向对象语言开发,就是类与类之间进行交互,如果高层直接依赖低层的细节,细节是多变的,那么低层的变化就导致上层的变化;如果层数多了,底层的修改会直接水波效应传递到最上层,一点细微的改动都会导致整个系统从下往上的修改。那如何改变呢?我们要面向抽象,如果高层和低层没有直接依赖,而是...原创 2020-03-25 15:35:07 · 4355 阅读 · 0 评论 -
六大设计原则-开闭原则
什么是开闭原则? 开闭原则就十个字:对扩展开放,对修改关闭。 什么是修改?什么是扩展? 修改:对现有的代码进行修改(修改BUG除外); 扩展:增加代码。 为什么有开闭原则? 面向对象语言是一种静态语言,最害怕变化,一旦变化就会波及很多东西,从而修改完需要进行全面测试,可以看出,修改需要付出的成本特别大。最理想的就是不去修改原有的代码,要新增代码,原有代码才是最可靠的。 遵守开闭原则,...原创 2020-03-27 21:21:25 · 4330 阅读 · 0 评论 -
六大设计原则-接口隔离原则
接口隔离原则 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。简单的来说就是要为各个类建立它们所需要的专用接口,而不要建立一个很庞大的接口,供所有依赖它们的类去调用。 接口隔离原则能解决什么问题 接口A中有方法1、方法2、方法3,类1实现了接口A中的3个所有方法,由于业务需要,新增的类2只需要接口中的方法1和方法2,为了省事于是类2也实现了接口A。这样看来,...原创 2020-03-26 15:28:59 · 4244 阅读 · 0 评论 -
六大设计原则-迪米特原则
迪米特原则 什么是迪米特原则? 一个对象应该对其他对象保持最少的了解。 为什么要使用迪米特原则? 面向对象语言是万物皆对象,类与类之间交互越频繁,类与类之间的关系也就越密切,这就是耦合,耦合度越高,当一个类发生改变时,对另一个类的影响也就越大。一个好的系统要做到高内聚低耦合,迪米特原则就是要降低类与类之间的耦合度。 怎么样才算遵守迪米特原则? 迪米特原则就是尽可能的降...原创 2020-03-23 17:27:07 · 4368 阅读 · 0 评论 -
六大设计原则-里氏替换原则
里氏替换原则 什么是里氏替换原则? 里氏替换原则的定义:任何使用基类的地方,都可以透明的使用其子类。从定义中可以看出,它和继承差不多,我们也可以这样理解,里氏替换原则=继承+透明,也就是继承的加强版,取其继承的优点,剔除继承的缺点。 为什么要使用里氏替换原则: 例如,鸵鸟、燕子从生物学的角度来划分,它们都属于鸟,但从继承关系来看,由于它们不能继承“鸟”会飞的能力,所以它们不能定义成“鸟”的...原创 2020-03-22 23:51:18 · 4439 阅读 · 0 评论 -
六大设计原则-单一职责原则
单一职责原则 针对的问题 类T负责两个不同职责:职责P1和职责P2。当业务发生改变需要修改职责P1,有可能会影响到职责P2的功能。 解决方案 遵循单一职责原则,分别创建两个类:类T1和类T2。类T1负责职责P1的功能,类T2负责职责P2的功能。这样当修改P1代码的时候就不会影响到P2的功能了。 拆分后代码量会增加,理解成本也会增加,什么时候适合使用单一职责原则呢? 如果类型足够简单,方...原创 2020-03-21 16:33:42 · 4306 阅读 · 0 评论