设计模式学习3 -- 建造模式
2009-11-12 12:45
239 查看
1. 建造模式
1.1. 概述
l 在Windows中打开一个计算器,如果要你编写这个应用,你如何做?l 写一个类,在构造函数里面将各个控件加上去?
l 考虑如下问题
l 将数字键全部改颜色
l 将最左边四个键放在最右边
l 很明显,事情变得非常麻烦
1.2. 解决方法:使用建造模式
编写一个类专门每个组件的创建,一个类进行调用每个组件负责每个组件的创建,代码如下:
//由四个小模块组成 class Builder {//负责各个模块的生成 public Panel getPanel1(){ //以后修改时,只需要修改相应的函数 Panel p1 = null; //建造p1 return p1; } public Panel getPanel2(){ Panel p2 = null; //建造p2 return p2; } public Panel getPanel3(){ Panel p3 = null; //建造p3 return p3; } public Panel getPanel4(){ Panel p4 = null; //建造p4 return p4; } } |
class Director{ Builder builder = new Builder() public void contruct(){ Panel p1 = builder.getPanel1(); Panel p2 = builder.getPanel2(); Panel p3 = builder.getPanel3(); Panel p4 = builder.getPanel4(); //组装 } } |
1.3. 建造模式要点
l 编写类Builder做实际的每个部分的建造工作l 编写Director类对每个部分的建造工做进行调用,其中的组装过程由它控制
1.4. 建造模式小结
l 首先假设一个复杂对象是由多个部件组成的,并且改变的机会较大,Builder模式是把复杂对象的创建和部门的创建分别开来l 练习:Frame上2个面板,第一个面板上有一个按钮,第二个上有一个文本框,现在要将他们组合在一起放在Frame上,用建造模式实现并且总结有什么好处。
相关文章推荐
- 设计模式学习(创建型模式)—建造模式(Builder)
- 设计模式学习---第十一节:建造模式
- 设计模式学习笔记--工厂(Factory)、建造(Builder)和原型(Prototype)
- 设计模式学习(一)代理模式
- 设计模式学习---第六节:观察者模式
- 设计模式学习:装饰模式
- IOS设计模式学习(1)设计模式初窥
- 【MPI学习4】MPI并行程序设计模式:非阻塞通信MPI程序设计
- (五)Java设计模式之建造模式
- 设计模式的学习
- 学习php设计模式 php实现单例模式(singleton)
- 学习php设计模式 php实现策略模式(strategy)
- 设计模式学习总结:状态模式(State)
- IOS设计模式学习(1)设计模式初窥
- 设计模式学习笔记五:抽象工厂(Abstract Factory)
- 软件工程 - 设计模式学习之单例模式Singleton
- 学习php设计模式 php实现建造者模式
- 设计模式C++学习笔记之五(Composite组合模式)
- 学习php设计模式 php实现抽象工厂模式
- 设计模式C++学习笔记之一(Observer观察者模式)