项目大了人员多了,架构怎么设计更合理?


编程中的六大设计原则是哪些?

  • 1.单一职责原则
    通俗地讲就是一个类只做一件事
    CALayer:动画和视图的显示。
    UIView:只负责事件传递、事件响应。
  • 2.开闭原则
    对修改关闭,对扩展开放。要考虑到后续的扩展性,而不是在原有的基础上来回修改
  • 3.接口隔离原则
    使用多个专门的协议、而不是一个庞大臃肿的协议,如 UITableviewDelegate + UITableViewDataSource
  • 4.依赖倒置原则
    抽象不应该依赖于具体实现、具体实现可以依赖于抽象。调用接口感觉不到内部是如何操作的
  • 5.里氏替换原则
    父类可以被子类无缝替换,且原有的功能不受任何影响 如:KVO
  • 6.迪米特法则
    一个对象应当对其他对象尽可能少的了解,实现高聚合、低耦合

面向对象编程

  • 封装、继承、多态
  • 设计模式6个原则
  • 设计一个类的功能,如何划分粒度(单一职责)
  • 接口隔离。
  • 如果有一个鸟类,有飞的动作,一个鸵鸟继承它是合适的吗(里氏替换)
  • 类之间的依赖如何依赖偶合度最小(依赖倒转)高层依赖低层,低层不能依赖高层。依赖接口,不能依赖具体的类。
  • 如果A要调用C函数,但C是B的成员类,应该如何设计?(迪米特)
  • 如何设计类,能做到只增加代码,而不修改代码,有哪些经验(开放封闭)通过设计模式解决。

底层可以是与业务无关的基础组件,比如网络和存储等;
中间层一般是通用的业务组件,比如账号、埋点、支付、购物车等;
最上层是迭代业务组件,更新频率最高。
这样的三层结构,尤其有利于多个团队分别开发维护。比如,一开始有两个业务团队 A 和 B,他们在开发时既有通用的功能、账号、埋点、个人页等,也有专有的业务功能模块,每个功能都是一个组件。


功能成组件
业务分团队



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容