当环境状态逻辑很多可以分离出来,可能是那些switch的操作。(状态模式实例)
Ⅰ环境类 Context 使用State
Ⅱ抽象状态类 State
Ⅲ具体状态类 StateA、B、C
环境类把状态分成了很多种,但同时只有一个状态存在,在条件触发后会根据状态的不同来做出相应不同的处理。
Ⅰ发起者 (备忘录模式实例)
Ⅱ备忘录
Ⅲ管理备忘角色
Ⅰ -创建> Ⅱ -保存> Ⅲ
Ⅰ -获取> Ⅲ -得到> Ⅱ
用抽象类,抽象共同逻辑的实现(关于逻辑算法的模板),先穿袜,在穿鞋。(模板方法模式实例)
Ⅰ工厂抽象角色
Ⅱ工厂具体角色
Ⅲ抽象产品角色
Ⅳ具体产品角色
抽象工厂,多个抽象产品角色
逻辑判断给了客户端(工厂方法模式实例)
Ⅰ工厂类 逻辑判断后创建对应的具体类对象
Ⅱ 抽象类 具体对象的父类或接口
Ⅲ 具体类 继承抽象类,统一接口,返回具体实例全用抽象类代表(引用)。
简单工厂模式实例
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
抽象组件类,枝节点、叶节点继承实现抽象组件类,枝节点聚合抽象组件类(保存下一级的枝叶节点),形成树结构。(组合模式实例)
用于上级有很多下级,下级又有下级。
可以忽略对象和组合的异性。
①单一职业原则
②里氏替换原则
③依赖倒置原则
④接口隔离原则
⑤迪米特法则
⑥开闭原则
⑦合成/聚合复用原则
+ 公开 # 保护 - 私有