一、单一职责原则
简单的讲就是一个类只做一件事,例如:
-
CALayer:动画和视图的显示。
-
UIView:只负责事件传递、事件响应。
二、开闭原则
-
对修改关闭,对扩展开放
-
要考虑到后续的扩展性,而不是在原有的基础上来回修改
三、接口隔离原则
使用多个专门的协议,而不是一个庞大臃肿的基础上来回修改,例如:
-
UITableviewDelegate : 主要提供一些可选的方法,用来控制tableView的选择、指定section的头和尾的显示以及协助完成cell的删除和排序等功能。
-
UITableViewDataSource : 主要为UITableView提供显示用的数据(UITableViewCell),指定UITableViewCell支持的编辑操作类型(insert,delete和 reordering),并根据用户的操作进行相应的数据更新操作
四、依赖倒置原则
- 抽象不应该依赖于具体实现,具体实现可以依赖于抽象。
- 调用接口感觉不到内部是如何操作的
五、里氏替换原则
父类可以被子类无缝替换,且原有的功能不受任何影响,例如:KVO
继承父类,也不想使用使用KVO监听对象的属性。
六、迪米特法则
一个对象应当对其他对象尽可能少的了解,实现高聚合、低耦合
网友评论