23种设计模式详解及实现方式.ppt





《23种设计模式详解及实现方式.ppt》由会员分享,可在线阅读,更多相关《23种设计模式详解及实现方式.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四讲建造者模式(Buider)场景翻译机nMM最爱听的就是我爱你这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出我爱你这句话了,国外的MM也可以轻松搞掂,这就是我的我爱你builder。(这一定比美军在伊拉克用的翻译机好卖)Builder模式概述nBuilder模式是一种创建型模式,它主要是应对项目中一些复杂对象的创建工作。n所谓“复杂对象”是指:此对象中还含有其它的子对象。n意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。Builder模式概述n建
2、造者模式将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。n使用该模式可以逐步地构造对象,使得对象的创建更具弹性。生成器模式的关键是将一个包含有多个组件对象的创建分成若干个步骤,并将这些步骤封装在一个称作生成器的接口中。相关的模式抽象工厂(Abstract Factory)模式共性:创建型模式、创建类对象区别:Abstract Factory模式:解决“系列对象”的需求变化Builder模式:解决“对象部分”的需求变化,通常和组合模式结合使用Builder模式的角色n产品(产品(Product)n抽象生成器(抽象生成器(Builder)n具体生成器(
3、具体生成器(ConcreteBuilder)n指挥者(指挥者(Director)Builder模式结构l建造者(Builder)角色l具体建造者(Concrete Builder)角色l产品(Product)角色l指导者(Director)角色Builder模式示例1产品(产品(Product):PanelProduct.java import javax.swing.*;public class PanelProduct extends JPanel JButton button;JLabel label;JTextField textField;Builder模式示例2抽象生成器(抽象生成
4、器(Builder):Builer.java.*;public interface Builder public abstract void buildButton();public abstract void buildLabel();public abstract void buildTextField();public abstract JPanel getPanel();Builder模式示例3具体生成器(具体生成器(ConcreteBuilder)_1:ConcreteBuilderOne.java import javax.swing.*;public class Concrete
5、BuilderOne implements Builder private PanelProduct panel;ConcreteBuilderOne()panel=new PanelProduct();public void buildButton()panel.button=new JButton(按钮按钮);public void buildLabel()panel.label=new JLabel(标签标签);public void buildTextField()panel.textField=new JTextField(文本框文本框);public JPanel getPanel
6、()panel.add(panel.button);panel.add(panel.label);panel.add(panel.textField);return panel;Builder模式示例3具体生成器(具体生成器(ConcreteBuilder)_2:ConcreteBuilderTwo.java import javax.swing.*;public class ConcreteBuilderTwo implements Builder private PanelProduct panel;ConcreteBuilderTwo()panel=new PanelProduct();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 23 设计 模式 详解 实现 方式

限制150内