设计模式大纲
2019-08-01 00:19:56 64 举报
AI智能生成
后端:设计模式思维导图
作者其他创作
大纲/内容
适配器模式(Adapter)
案例: 使用火鸡来模拟鸭子
外观模式(Facade)
案例: 建立自己的家庭影院~
模板模式(Template Method)
案例: 创建咖啡和茶
定义: 在一个方法中font color=\"#c41230\
迭代器模式(Iterator)
案例: 对象村餐厅(数组存储菜单) 和 对象村煎饼屋(ArrayList存储菜单)合并了.合并后如何打印出 当前菜单呢? printMenu()
组合模式(composite)
案例: 希望加上一份 餐后甜点的 \"子菜单\"
允许你将对象组成树形结构来表现\"整体 / 部分\"的层次结构.组合能让客户以一致的方式处理个别对象和对象组合
状态模式(State)
定义: 允许对象font color=\"#c41230\
代理模式(Proxy)
案例: 远程监视糖果机的状态(剩余库存数量)
为另一个对象提供一个替身或占位符以访问这个对象
应用场景
远程代理 虚拟代理 动态代理等
模式中的模式--复合模式
案例1: 一群模式的协作-- 鸭子模拟器
案例2: MVC模式
剩下的模式
桥接模式(Bridge)
生成器模式(Builder)
责任链模式(Chain of Responsibility)
当你想要让一个以上的对象有机会能够font color=\"#c41230\
蝇量模式(Flyweight)
让某个类的一个实例能够提供许多\"虚拟实例\"
解释器模式(Interpreter)
为语言创建解释器
中介者模式(Mediator)
使用中介者模式来集中相关对象之间复杂的沟通与控制方式
备忘录模式(Memento)
原型模式(Prototype)
访问者模式(Visitor)
设计模式大纲
OO原则
封装变化
为交互对象之间的松耦合设计而努力
最少知识原则: 只和你的密友谈话
类应该只有一个改变的理由
设计模式的划分
根据模式的目标划分成3个类目
创建型
创建型模式font color=\"#c41230\
单例模式
构建者模式
原型模式
抽象工厂模式
工厂方法模式
行为型
模板方法模式
迭代器模式
命令模式
观察者模式
状态模式
策略模式
结构型
结构性模式可以让你把类或对象组合到更大的结构中
装饰者模式
代理模式
组合模式
外观模式
适配器模式
策略模式(Strategy)
定义:策略模式font color=\"#c41230\
观察者模式 (Visitor)
案例:设计气象站 和广告板. 让气象站数据变化时通知所有广告板.并且广告板可动态扩展
定义: 在对象之间font color=\"#c41230\
装饰者模式 (Decorator)
定义: font color=\"#c41230\
工厂模式
种类
简单工厂(Simple Factory)
工厂方法模式(Facotory Method)
抽象工厂模式(Abstract Factory)
单例模式(Singleton)
案例: 创建唯一的 巧克力锅炉控制器
命令模式 (Command)
0 条评论
回复 删除
下一页