Design Patterns设计模式
文章目录
教程
设计模式
哔哩哔哩
- 系列视频 GeekBand:C++ 设计模式 - bilibili.com
书
《设计模式 – 可复用 面向对象 软件的基础》
- GOF(gang of four) 23 种经典面向对象设计模式
- 94 年出版
博客
面向对象编程 OOP 六大原则
参考:
六大原则:
- 单一职责(Single Responsibility Principle)
- 开闭原则(Open Close Principle)
- 里氏替换原则(Liskov Substitution Principle)
MVC 模式
Model 模型
- 存储数据的对象 和 Java POJO
View 视图
Model 包含数据的可视化
Controller 控制器
在 Model <—–> View 之间,起到隔离和交互介质的作用
- 把 Model 和 View 的功能 集成到 Controller 中,间接操作 View 和 Model
解决复杂性
分解
- 大功能分解成多个小部件
使用 if else 分支判断,分别解决
- 缺点,代码不易复用
抽象
- 例如:line, rect, –> 抽象出 虚基类 Shape
代码上
- 抽象 <==> 多态
多态的好处
- 相比于 非 多态 类组成的项目
- 在 改变需求时,如新加功能 Circle 类
其他代码的改动,多态模式,需要的改动更小
多态可以避免一些 if else 分类别处理代码
- 通过多态自动判断
依赖注入 Dependency Injection 和控制反转 Inverse of Control
参考:
- https://www.jianshu.com/p/07af9dbbbc4b
python pytest 中的 IoC 实践例子
概念:
- 依赖倒置原则 Dependency Inverse Principle
- 控制反转
- 依赖注入
- IoC 容器
说明:
- 依赖注入是控制反转的一种实现方法
文章作者
上次更新 2022-10-10