编程中的六大设计原则是哪些?
- 1.单一职责原则
通俗地讲就是一个类只做一件事
CALayer:动画和视图的显示。
UIView:只负责事件传递、事件响应。 - 2.开闭原则
对修改关闭,对扩展开放。要考虑到后续的扩展性,而不是在原有的基础上来回修改 - 3.接口隔离原则
使用多个专门的协议、而不是一个庞大臃肿的协议,如 UITableviewDelegate + UITableViewDataSource - 4.依赖倒置原则
抽象不应该依赖于具体实现、具体实现可以依赖于抽象。调用接口感觉不到内部是如何操作的 - 5.里氏替换原则
父类可以被子类无缝替换,且原有的功能不受任何影响 如:KVO - 6.迪米特法则
一个对象应当对其他对象尽可能少的了解,实现高聚合、低耦合
面向对象编程
- 封装、继承、多态
- 设计模式6个原则
- 设计一个类的功能,如何划分粒度(单一职责)
- 接口隔离。
- 如果有一个鸟类,有飞的动作,一个鸵鸟继承它是合适的吗(里氏替换)
- 类之间的依赖如何依赖偶合度最小(依赖倒转)高层依赖低层,低层不能依赖高层。依赖接口,不能依赖具体的类。
- 如果A要调用C函数,但C是B的成员类,应该如何设计?(迪米特)
- 如何设计类,能做到只增加代码,而不修改代码,有哪些经验(开放封闭)通过设计模式解决。
底层可以是与业务无关的基础组件,比如网络和存储等;
中间层一般是通用的业务组件,比如账号、埋点、支付、购物车等;
最上层是迭代业务组件,更新频率最高。
这样的三层结构,尤其有利于多个团队分别开发维护。比如,一开始有两个业务团队 A 和 B,他们在开发时既有通用的功能、账号、埋点、个人页等,也有专有的业务功能模块,每个功能都是一个组件。
功能成组件
业务分团队
网友评论