考试还是寄了,学了个皮毛,还是要认真体会每种模式
模式 | 理解 | 课本示例 |
---|---|---|
创建型工厂(6个) | ||
简单工厂模式Simple Factory Pattern | 一个工厂类根据传入参数不同返回不同的具体产品 | 海尔电视/海信电视、权限管理 |
工厂方法模式Factory Method Pattern | 多个工厂类产生对应的产品 | 海尔/海信电视机、日志记录器件 |
抽象工厂模式Abstract Factory Pattern | 产品族&产品等级 不同工厂可以产生工厂下多个产品 海尔电视\冰箱,海信电视\冰箱 | 海尔电视\冰箱,海信电视\冰箱、数据库操作工厂 |
建造者模式-Builder Pattern | KFC不同套餐由不同的建造者来建造 | KFC不同套餐 |
原型模式-Prototype Pattern | 创建大量相同或相似对象 | emali的深克隆和浅克隆 |
单例模式Singleton Pattern | 对象具有唯一性 | 省份证号码、打印池 |
结构型模式(7个) | ||
适配器模式-Adapter Pattern | 通过适配器,目标抽象类可以调用支配者的方法 | 仿生机器人 |
桥接模式-Bridge Pattern | 不同属性相互组合 不同颜色的笔 | 模拟毛笔、视频播放器 |
组合模式-Composite Pattern | 盘子里装盘子 | 水果盘 |
装饰模式-Decorator Pattern | 原有基础上增加其他功能 | 变形金刚 |
外观模式-Facade Pattern | 多个网站之间一个首页 | 电源总开关 |
享元模式-Flyweight Pattern | 相同对象放一起 | 无限网络共享 |
代理模式-Proxy Pattern | 中间者可以使用远程方法 | 数学运算 |
行为型模型(11个) | ||
职责链模式-Chain of Responsibility Pattern | 传递处理某个请求 | 【假条审批】员工假期少于3天、少于10天、少于30天的情况 |
命令模式-Command Pattern | 命令单独拿出来作一个抽象类 | 【电视机遥控器】、【功能键设置,自定义功能】 |
解释器模式-Interpreter Pattern | 语法分析 | 【语言解释器】 |
迭代器模式-Iterator Pattern | 遍历对象和迭代器 | 【电视机遥控(迭代器) 和 电视机节目(聚合类)】 |
中介者模式-Mediator Pattern | 多个对象之间的消息传递可以通过一个中介者来进行 | 【虚拟聊天室,不同的角色通过聊天室沟通】 |
备忘录模式-Memento Pattern | 数据恢复到以前的模式 | 【用户恢复修改的信息】 |
观察者模式-Observer Pattern | 一对多的依赖关系,观察目标改变观察者改变 | 【猫、老鼠、狗】 【登陆界面】 |
状态模式-State Pattern | 对象有多个状态,把状态单独抽象出来 | 【论坛用户等级】 【银行账户】 |
策略模式-Strategy Pattern | 将可以用到的多种算法单独封装、切换 | 【数组排序】 【旅游出行策略】 |
模板方法模式-Template Method Pattern | 事情有一个固定流程,实现流程当中某个具体的方法 | 【银行办理业务】、 【数据库操作模板】 |
访问者模式-Visitor Pattern | 不同角色对集合不同元素的访问情况 | 【超市购物人员和收银员对商品的检查和计价】 【高校判断人员是否符合奖励条件】 |