本文主要讲依赖倒置原则和接口隔离原则。 一、依赖倒置原则 1.定义 高层模块不应该依赖低层模块,两者都应该依赖其抽象; 抽象不应该依赖细节; 细节应该依赖于抽象; 高层模块和低层模块容易理解,每一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是低层模块,原子逻辑的再组装就是高层模块。 那什么 ...
分类:
其他好文 时间:
2019-11-05 13:54:13
阅读次数:
78
1.单一职责 对于一个类而言,应该只有一个引起它变化的原因。 对于一个类来说,只做这个类本身需要做的事情,例如有用户、角色和功能类,如果把这些类都放到一个接口当中,那么显然这个类不符合单一职责,主要有以下问题: 用户、角色的修改都在一个模块当中,这样的设计是不合理的,首先用户的属性和行为是两种不同的 ...
分类:
其他好文 时间:
2019-11-04 13:48:44
阅读次数:
96
六大设计原则1. 单一职责原则:对于一个类,应该只有一个引起它变化的原因;【功能内聚】2. 里氏代换原则:子类必须能够替换掉它们的父类型;【减小继承耦合】3. 开放-封闭原则:对于扩展是开放的;对于修改是封闭的。4. 依赖倒置原则:程序的高层模块不应该依赖于底层模块,两者应依赖于抽象;抽象不应该依赖 ...
分类:
其他好文 时间:
2019-11-02 00:40:31
阅读次数:
137
这是设计模式系列开篇的第一篇文章。也是我学习设计模式过程中的总结。这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理解设计模式。我们接下来要介绍以下6个内容。 单一职责原则——SRP 开闭原则——OCP 里式替换原则——LSP 依赖倒置原则——DIP 接口 ...
分类:
编程语言 时间:
2019-11-01 09:53:50
阅读次数:
108
一、依赖倒置 (设计原则): 软件设计的原则 1上层模块不应该依赖于下层模块,它们共同依赖于一个抽象。 2抽象不能依赖于具象,具体依赖于抽象。 二、控制反转(一种思想): 大家都依赖一个容器,将依赖(低层模块)对象的获得交给第三方(系统)来控制,即依赖对象不在被依赖模块的类中直接通过new来获取。 ...
分类:
其他好文 时间:
2019-10-31 16:09:43
阅读次数:
78
开闭原则: 对于类,模块函数等扩展要开放,对于修改要关闭。 依赖倒置: 接口或抽象是高层,要面向高层编程,不应该面向实现类(实现类是低层)去变成。 单一职责: 对一个类,或者一个功能,只用负责一个职责。 接口隔离原则: 接口中要单一(方法尽量的少),尽量细化,不能臃肿。 迪米特原则: 低耦合,高内聚 ...
分类:
编程语言 时间:
2019-10-26 22:37:43
阅读次数:
108
摘要 面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC、DI以及Ioc容器等概念。通过本文我们将一起学习这些概念,并理清他们之间微妙的关系。 目录 前言 依赖倒置原则(DIP) 控制反转( ...
分类:
其他好文 时间:
2019-10-22 12:36:32
阅读次数:
107
单一原则 一个类只负责一件事。例:UIView和CALayer 开闭原则 对修改关闭,对扩展开放 依赖倒置原则 抽象不应该依赖于具体实现,具体实现可以依赖于抽象 里氏替换原则 父类可以被子类无缝替换,且原有功能不受影响。例:KVO机制 接口隔离原则 使用多个专门的协议,而不是庞大臃肿的协议。例:UI ...
分类:
其他好文 时间:
2019-10-20 13:01:56
阅读次数:
89
抽象的原则 SOLID 单一职责原则(Single Responsibility Principle, SRP) 开放封闭原则(Open/Closed Principle, OCP) 指对扩展开放,对修改封闭 依赖倒置原则(Dependency Inversion Principle, DIP) 里 ...
分类:
其他好文 时间:
2019-10-14 23:41:14
阅读次数:
107
设计模式中的SOLID原则,分别是单一原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。前辈们总结出来的,遵循五大原则可以使程序解决紧耦合,更加健壮。 单一责任原则 指的是一个类或者一个方法只做一件事。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化就可能抑制或者削弱这个 ...
分类:
其他好文 时间:
2019-10-07 13:25:37
阅读次数:
73