组合模式:
非常适合处理树形结构。
抽象组件:
叶子组件:
容器组件:
使用组合模式,模拟杀毒软件架构设计:
抽象组件:
叶子组件(图像文件):
叶子组件(文本文件):
叶子组件(视频文件):
容器组件(文件夹):
测试:
外观模式:
迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用。
(有茶馆服务员帮你处理泡茶工具)
办理注册公司流程的门面对象(典型的封装):
顾客:
享元模式:
实现围棋架构设计:
抽象享元类:
非共享享元类(坐标类):
具体享元类:
享元工厂:
测试:
行为型模式:
责任链模式:
实现请假流程:
封装请假的基本信息:
抽象处理者:
(定义抽象的处理请求的核心方法,因为该方法需要子类来具体实现)
处理者(主任):
处理者(经理):
处理者(总经理):
测试:
命令模式(在项目实践中不常用):
数据库事务的底层实现用的就是命令模式。
真正的命令的执行者:
抽象的命令:
命令:
调用者或发起者:
测试: