设计模式(八):外观模式
来源:互联网 发布:淘宝站外推广方式 编辑:程序博客网 时间:2024/05/16 15:38
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式结构图:
例子:
1、创建外观类,煎饼果子类
/** * Facede外观类,煎饼果子类 */public class Pancake {}
2、创建子系统类
(1)生菜类
/** * Subclass子系统1,生菜类 */public class Lettuce { public void addLettuce(){ System.out.println("加生菜"); }}
(2)烤肠类
/** *Subclass子系统2,烤肠类 */public class Sausage { public void addSausage(){ System.out.println("加烤肠"); }}
(3)培根类
/** * Subclass子系统3,培根类 */public class Bacon { public void addBacon(){ System.out.println("加培根"); }}
/** * Subclass子系统4,辣椒类 */public class Pepper { public void addPepper(){ System.out.println("多放辣"); }}
3、完善外观类,引入子系统,并创建不同的组合方法
/** * Facede外观类,煎饼果子类 */public class Pancake { private Lettuce lettuce;//生菜 private Bacon bacon;//培根 private Pepper pepper;//辣椒 private Sausage sausage;//烤肠 public Pancake() { lettuce=new Lettuce(); bacon=new Bacon(); pepper=new Pepper(); sausage=new Sausage(); } /** * 组合一 */ public void CombinationOne(){ System.out.println("煎饼果子来一套"); sausage.addSausage(); lettuce.addLettuce(); } /** * 组合二 */ public void CombinationTwo(){ System.out.println("煎饼果子来一套"); bacon.addBacon(); lettuce.addLettuce(); pepper.addPepper(); }}
4、测试
public class Test { public static void main(String[] args) { Pancake pancake=new Pancake();//创建外观类对象 pancake.CombinationOne(); System.out.println("---------"); pancake.CombinationTwo(); }}
运行结果:
煎饼果子来一套加烤肠加生菜---------煎饼果子来一套加培根加生菜多放辣
阅读全文
0 0
- java设计模式(八)---外观模式
- 设计模式(八)外观模式
- 设计模式(八)外观模式
- 设计模式(八)外观模式
- 设计模式(八)外观模式
- 设计模式—外观模式(八)
- 设计模式(八):外观模式
- 【设计模式】【八】外观模式
- (八)外观模式
- 设计模式实现(八)--- 外观模式(Facade)
- 设计模式笔记(八) —— 外观模式
- 设计模式之python版(八)--外观模式
- 设计模式在游戏中的应用--外观模式(八)
- Java设计模式(八) 外观模式详解
- java设计模式(八)——外观模式
- 设计模式(八)——外观模式
- 设计模式之八、外观模式Facade
- 设计模式学习(八):外观模式
- resnet笔记(Deep Residual Learning for Image Recognition)
- 左侧固定宽右侧自适应(CSS布局面试题)
- Spring对Hibernate事务管理
- PhpStorm导致php表单提交时获取不到post数据
- 如何导出Office 365用户
- 设计模式(八):外观模式
- JAVA 避免Java应用中NullPointerException的技巧和最佳实践
- 文章标题
- unit7-samba
- sqlldr使用简介
- kvm内存优化--KSM
- 【剑指offer-解题系列(53)】表示数值的字符串
- 使用echarts显示图表
- leetcode15: 3Sum