美文网首页
iOS-设计模式遵循的七大原则

iOS-设计模式遵循的七大原则

作者: 哈布福禄克 | 来源:发表于2019-09-26 18:14 被阅读0次

1.单一职责原则:一个类只负责一件事

理解:不同的类具备不同的职责,各司其职。做系统设计是,如果发现有一个类拥有了两种职责,那么就要问一个问题:可以将这个类分成两个类吗?如果真的有必要,那就分开,千万不要让一个类干的事情太多。

总结:一个类只承担一个职责

2.依赖倒置原则:抽象不该依赖于具体实现,具体实现可以依赖抽象

理解:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

总结:面向接口编程,提取出事务的本质和共性。

3.开闭原则:对修改关闭,对扩展开放

理解:类、模块、函数,可以去扩展,但不要去修改。如果要修改代码,尽量用继承或组合的方式来扩展类的功能,而不是直接修改类的代码。当然,如果能保证对整个架构不会产生任何影响,那就没必要搞的那么复杂,直接改这个类吧。

总结:对软件实体的改动,最好用扩展而非修改的方式。

4.里氏替换原则:父类可以被子类无缝替换,且原有功能不受影响(例如:KVO)

理解:一个对象在其出现的任何地方,都可以用子类实例做替换,并且不会导致程序的错误。换句话说,当子类可以在任意地方替换基类且软件功能不受影响时,这种继承关系的建模才是合理的。

总结:子类可以扩展父类的方法,但不应该复写父类的方法。

5.接口隔离原则:使用多个专门的协议、而不是一个庞大臃肿的协议(例如:UITableViewDelegate,UITableViewDataSource)

理解:一个类实现的接口中,包含了它不需要的方法。将接口拆分成更小和更具体的接口,有助于解耦,从而更容易重构、更改。

总结:对象不应被强迫依赖它不使用的方法。

6.迪米特法则:一个对象应当对其他对象尽可能少的了解(高内聚、高耦合)

理解:一个对象对另一个对象了解得越多,那么,它们之间的耦合性也就越强,当修改其中一个对象时,对另一个对象造成的影响也就越大。

总结:一个对象应该对其他对象保持最少的了解,实现低耦合、高内聚。

7.组合/聚合复用原则:

理解:合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。它的设计原则是:要尽量使用合成/聚合,尽量不要使用继承。

总结:就是说要少用继承,多用合成关系来实现。

继承复用有一定的缺点:比如如果基类发生了改变,那么派生类的的实现就不得不发生改变;而且从超类继承而来的实现是静态的,不可能在运行时发生改变,因此它的灵活性差并最终会限制复用性。

使用组合/聚合复用原则就解决了继承复用的缺点。

原文地址

相关文章

  • iOS-设计模式遵循的七大原则

    1.单一职责原则:一个类只负责一件事 理解:不同的类具备不同的职责,各司其职。做系统设计是,如果发现有一个类拥有了...

  • 七大原则 / 24种设计模式

    七大原则,24种设计模式七大设计原则:1、单一职责原则【SINGLE RESPONSIBILITY PRINCIP...

  • 设计模式 - 七大设计原则(一)

    设计模式 - 七大设计原则(一) 概述 简单介绍一下七大设计原则:开闭原则:是所有面向对象设计的核心,对扩展开放,...

  • 设计模式之五大设计原则

    23中具体的设计模式的基石就是设计原则,只有遵循了这些设计原则,才能称得上是设计模式。主要介绍五大设计原则。 一、...

  • Boolan - C++学习笔记 _设计模式 - 第 一 周

    C++设计模式主要内容: 什么是设计模式: 设计模式遵循的一般原则:1.开-闭原则(Open-Closed Pri...

  • 设计模式遵循的原则

    1、单一职责 一个接口实现一个功能 2、里氏替换 使用基类作为参数 3、依赖倒置 接口之间产生依赖 4、...

  • 设计模式七大原则

    面向对象七大设计原则,以及使用到这些原则的设计模式 1.合成/聚合复用原则(CARP) (有些地方,不将其列入设计...

  • 1 设计模式的简介

    1 设计模式的七大原则 1.1 开闭原则 A: 定义: 开闭原则(Open Closed Principle,OC...

  • 设计模式之引言

    1、设计模式的七大原则 1.1单一职责原则(Single Responsibility Principle) 目的...

  • 设计模式遵循的七大原则

    1:开闭原则对扩展开放 对修改关闭2:里氏代换原则任何基类出现的地方 子类一定可以出现3:依赖倒转原则高层次的模块...

网友评论

      本文标题:iOS-设计模式遵循的七大原则

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