美文网首页想法
简述-设计原则

简述-设计原则

作者: WANGGGGG | 来源:发表于2020-03-09 23:53 被阅读0次

前言

根据优秀的设计原则设计优秀的代码,可以更好的提高开发效率


timg.jpg

1.OCP开闭原则

总结:扩展开放变更闭合
我的理解:
(1)抽象接口一旦定义好了之后就不要做变更,可以通过继承的方式去扩展它,这样可以最大限度提升代码的版本兼容性
(2)接口入参和返回结果可以通过泛型定义,泛型可以通过继承限定范围,这样即增加接口的灵活性,又维护了接口的稳定性。

2.DIP依赖倒置原则

总结:1、高层模块不应该依赖于底层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象
我的理解:
(1)高层模块一般对应了一个产品的业务逻辑,高层模块一般面对的是用户,用户可以有很多种操作要求,各种操作要求,经过封装流向底层模块
(2)底层模块一般需要对接多个高层模块,因此需要抽象一些公共的东西,防止重复造轮子,从而提高编码效率,所以底层模块应该提供抽象的接口给高层模块,而不是让高层模块直接依赖底层具体的实现
(3)各个模块在定义时可以先不展开所有需要依赖的细节,将细节抽象,在需求变更的时候,只需要变更细节实现,而保持大致的框架不变。

3.SRP单一职责原则

总结:对象的职责要单一
我的理解:
(1)一个对象中如果具备了太多的功能,在命名上会增加难度,且容易导致逻辑混乱,因为名称与功能不对应容易导致使用者产生歧义。
(2)对象功能太多会导致功能粒度不够细,不方便业务拆分,在应对变更时不够灵活
(3)职责单一的话在实际业务变更时,实现对象替换将会更为便捷,而不会有一种拔出萝卜带出泥的感觉。

4.ISP接口隔离原则

总结:避免实现不必要的接口,接口要灵活
我的理解:
(1)开发者在继承实现接口的时候,不应该被强迫去实现一些根本用不上的接口
(2)将一些复杂的接口类拆分成细化的多个接口,通过多继承的方式实现接口,而不是一口气实现所有的接口
(3)当用户需求变更时,不应该去重新实现一个涵盖很多功能的接口类,而是最大程度缩小重新实现的范围,且减少不必要的实现。

5.LOD迪米特法则

总结:尽量降低类与类之间的耦合
我的理解:
(1)类与类之间需要减少public方法的调用,类在定义的时候需要降低成员方法的可见性。
(2)类与类之间的方法调用,需要减少依赖方法的个数,能用单个方法调用完成的,不要设计成两次完成,方法要做到高内聚。如类内方法通过建造者设计模式设计功能实现,这样类间调用时就不需要去调用这个类的所有建造中间过程方法,如果非要两个步骤中间加操作,可以预留抽象方法,通过实现抽象方法来介入过程。

6.LSP里氏替换原则

总结:子类可以扩展父类的功能,但不能改变父类原有的功能
我的理解:
(1)程序功能单位适用于父类时,通过使用子类时,同样能完成功能
(2)当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格
(3)遵循里氏替换原则,编码时可以放心通过父类声明编码功能,同时利用不同的子类完成各类独有的功能。如接口入参通过父类声明,实际上可以输入任何子类。可以大大的增强接口的复用性,而不需要重新定义。

相关文章

  • Java 常用设计模式简例

    简述Java常用设计模式 简述Java常用设计模式及设计原则 strate---------策略模式针对接口编程,...

  • 简述-设计原则

    前言 根据优秀的设计原则设计优秀的代码,可以更好的提高开发效率 1.OCP开闭原则 总结:扩展开放变更闭合我的理解...

  • iOS面试资料(一)

    iOS面试题 [toc] 设计基本原则 简述六大设计基本原则(也称 SOLID 五大原则) 单一职责原则 (SRP...

  • 设计模式学习笔记,简述概要

    设计模式 学习简述 设计模式简要学习笔记 原则 口诀:“单开迪里接依” 单一职责 开闭原则(扩展开放、修改封闭) ...

  • 面向对象的设计原则

    简述 面向对象的设计原则有七个,包括:开闭原则、里氏代换原则、迪米特原则(最少知道原则)、单一职责原则、接口分隔原...

  • 面向对象的七大设计原则

    面向对象的七大设计原则文章目录面向对象的七大设计原则简述七大原则之间的关系一、开闭原则(The Open-Clos...

  • iOS面试资料

    iOS面试题 [toc] 一、设计基本原则 简述六大设计基本原则(也称 SOLID 五大原则) 单一职责原则 (S...

  • 设计模式六原则--简述

    最近在看《设计模式之禅》,这本书我已经收藏了好久了,很多朋友都说不错,我也有了一些经验的积累,我觉得是该看的时候...

  • 组织行为学【9008】

    1、简述创造性行为的特点与类型。 2、何谓冲突?简析处理冲突的应用策略。 3、简述组织结构设计应遵循的原则。 1、...

  • Kotlin学历之扩展与委托

    简述 讲到Kotlin中的扩展,不得不说代码的设计原则之一:开闭原则,意思是对扩展开放,对修改关闭。在程序需要进行...

网友评论

    本文标题:简述-设计原则

    本文链接:https://www.haomeiwen.com/subject/cnbmdhtx.html