iOS-设计原则

327 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

通过问题看本质!!!

设计原则

在进行软件系统设计时所要遵循的一些经验准则,应用该准则的目的通常是为了避免某些经常出现的设计缺陷。

我们都知道面向对象的三大特性:封装、继承、多态。

在开发过程中,对接口编程而不是对实现编程,优先使用对象组合而不是使用继承。

设计类方法,无非就是顺序、判断、循环这几大类。

其实我们在有意或者无意之中都会用到设计原则。

单一职责

一个类只负责一件事情。

UIView :负责事件传递和事件响应

CALayer:负责动画和UI的展示

开闭原则

对修改关闭、对扩展开发。比如属性是readOnly,对外提供扩展的方法。 (扩展新类,而不是修改旧类)

接口隔离原则

一个类对另外一个类对依赖应该建立在最小的接口上,设计接口的时候要精简单一。

使用多个专门的协议,而不是一个庞大臃肿的协议。

比如UITableView的代理方法。

里氏替换原则

父类可以被子类无缝替换、原有的功能不受影响。

比如我们经常用到的KVO。

(不要破坏继承体系,继承父类而不是去改变父类)

迪米特法则

一个类对自己依赖的类尽可能少的了解。高内聚、低耦合。

(只与你的朋友交谈、不和陌生人交谈。无需直接交互的2个类,使用中间着)

依赖倒置原则(面向接口编程)

抽象不应该依赖具体的实现,而具体的实现可以依赖抽象。

上层模块不应该依赖底层模块,他们都应该依赖于抽象。

比如对AFNetwoking框架再封装一层接口。 (对接口编程而不是对实现编程)

合成复用原则

优先组合、其次继承。