面向对象的程序设计
OOA(Object-Oriented Analysis)
需求汇总:改善型需求(明确目标)、独立型需求(效益最大化)
量化目标:workflow、roadmap
可行性方案:产品优先,技术权重低。反复确认。
模型输出
OOD(Object-Oriented Design)
模型整理:依赖 泛化 关联 聚合 组合 实现
自顶向下细化:从高层抽象逐步细化定义底层实现。依赖反转,高层与低层充分解耦
UML建模:类图/时序图。参考与约束
OOP(Object Oriented Programming)
面向接口编程:六大设计原则。
结构化代码、减少依赖,利于扩展、低层实现可复用。
23种设计模式,经典场景下的经典案例,what why how
自底向上聚合:
封装、继承、多态。
信息隐藏成为方法、类、模块。
对象泛化为共有逻辑使用。
高层抽象设计,减少对具体实现的依赖。
软件架构:
MVC MVP MVVM。M-V-X 通过X来对数据层与变现层解耦。
Presenter通过面向接口来解耦。
ViewModel通过数据绑定、依赖注入来解耦。
分层架构:
复杂的业务可以增加层级来简化。
各层之间耦合不宜过多。
相反的层级越多,沟通协作成本也会变大!