六大设计原则

1. 单一职责原则

通俗地讲就是一个类只做一件事

  • CALayer:动画和视图的显示。
  • UIView:只负责事件传递、事件响应。

    2. 开闭原则

    一个软件实体(如类、模块、函数)应当对扩展开放,对修改关闭。
    开放-封闭原则的思想就是设计的时候,尽量让设计的类做好后就不再修改,如果有新的需求,通过新加类的方式来满足,而不去修改现有的类(代码)。

    3. 接口隔离原则

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

  • UITableviewDelegate

  • UITableViewDataSource

    4. 依赖倒置原则

    抽象不应该依赖于具体实现、具体实现可以依赖于抽象。
    调用接口感觉不到内部是如何操作的

    5. 里氏替换原则

    父类可以被子类无缝替换,且原有的功能不受任何影响
    例如 KVO

    6. 迪米特法则

    一个对象应当对其他对象尽可能少的了解,实现高聚合、低耦合

架构与设计模式
https://github.com/skyming/Trip-to-iOS-Design-Patterns
https://design-patterns.readthedocs.io/zh_CN/latest/