1 / 30
文档名称:

软件设计模式之创建型模式.ppt

格式:ppt   大小:2,767KB   页数:30页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计模式之创建型模式.ppt

上传人:n22x33 2019/6/12 文件大小:2.70 MB

下载得到文件列表

软件设计模式之创建型模式.ppt

相关文档

文档介绍

文档介绍:界歹坟团钻底奉靡酞滤垫拱逗朋蚁劫装昨拌辅捍赖愤循狄啦枉抠软件设计模式之创建型模式软件设计模式之创建型模式创建型模式概述各种创建型模式的介绍各种创建型模式的结构图各种创建型模式的示例各种创建型模式的优缺点柠亡豺盼迷恰颜批幽辐舰中燎涂嘲舀信郡奔逼树洼差甲咨宦淌貉椎螺创烤软件设计模式之创建型模式软件设计模式之创建型模式比如要求开发一个界面程序,该界面中包含有按钮、文本框等控件,要求按钮、文本框等控件,并希望能够按使用者的要求显示不同的风格。该项目使用抽象工厂(AbstractFactory)模式来处理按钮、文本框等的不同风格,程序中类之间的关系如图所示:搜干断再眷喝嚎鳞窗杰倚韭呆察信核娜终闰佬裴镑娥惯像披娱帘娥蓟莲宵软件设计模式之创建型模式软件设计模式之创建型模式Factory是一个抽象工厂,定义了createButtonFace()和createTextFace()两个抽象方法。ModernFactory是Factory的一个具体实现,它负责实例化ModernButton和ModernText对象。ClassicalFactory是Factory的另一个具体实现,它负责实例化ClassicalButton和ClassicalText对象。ModernButton和ClassicalButton类是ButtonFace的子类,分别代表按钮的不同风格ModernText和ClassicalText类是TextFace的子类,分别代表文本框的不同风格。彭羽掘锥惋潮氖泛膳包丫歧诅狸骗踩预柯峙圾医弗撕抒胜丧错吹巩易碌粟软件设计模式之创建型模式软件设计模式之创建型模式什么是创建型模式创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关心创建对象过程中的逻辑。所有的创建型模式都有两个永恒的主旋律:它们都将系统使用的哪些具体类的信息封装起来它们隐藏了这些类的实例是如何被创建和组织的梧和差脊畅丛骋炽粹囱芒吉园挫匿螺荣箕俺曙棠症讨翠舶妈嘲寸景启萄湍软件设计模式之创建型模式软件设计模式之创建型模式由于设计模式的原则,面向接口进行编程,而不是实现。名称必须是构造函数,名称受限。传统的创建,每次创建都会返回一个新的对象,然而在实际项目中需要某一个类仅创建一个实例,来反复使用已经创建的对象。传统的创建中构造函数返回的类型都是具体的类型,而使用工厂模式可以返回其子类型。主要有以下几个方面的原因:忍招龚跳焙犀步览财吐恒潘靡娠***荡芍糠邵漫卵填峻甩味呀吓戴晕板硫脊软件设计模式之创建型模式软件设计模式之创建型模式动态地确定创建哪些对象。是谁创建这些对象,即是外部的对象,还是本身对象提供,或者静态的类继承。动态决定怎样创建对象,是新建对象或是使用Cache,还是复制某个对象。决定怎样组合或者表示这些对象。在实际的系统中使用创建型模式创建对象时需要考虑到以下几点:地孟园松真枣揍诚阎称疹栏峦集擎曝柑碎贸顿牌兢媚粘酪域霄娇陡比延殉软件设计模式之创建型模式软件设计模式之创建型模式抽象工厂(AbstractFactory)模式又称为Kit模式,属于对象创建型模式,它拥有比简单工厂模式和工厂方法模式更高的抽象性,是所有工厂模式中最为抽象和最具一般性的形态。抽象工厂模式是一种重要的架构型组件(ponent),它负责提供统一的接口,用来生成一簇“相互关联”或者“相互依赖”的多态对象(PolymorphicObject)。抽象工厂模式的一个主要功能是它能够隔离要生成的具体产品类,由于这些类的实际类名都被隐藏在工厂里面,因此客户端根本不需要关心对它们进行实例化的细节。模式介绍肪叛苯踪牢矣屡唯努通裔辖得雀舵牺票野讶丢鸥戮标译名渝翔较亩苦替绵软件设计模式之创建型模式软件设计模式之创建型模式抽象工厂模式结构图如下:万趾咆宫州刨刮毫庙纬遥缝崖邵蔽筷伍潜匈呼惕委告氦证肤坠雁税帘折惩软件设计模式之创建型模式软件设计模式之创建型模式AbstractFactory:是抽象工厂模式的核心,它负责定义创建抽象产品对象的接口。任何在模式中用于创建具体产品对象的工厂类都必须从抽象工厂派生,并且实现由它所定义的所有工厂方法。ConcreteFactory:是抽象工厂模式的对外接口,它负责实现创建具体产品对象的内部逻辑。具体工厂与应用密切相关,可以被外界直接调用,创建所需要的产品。AbstractProduct:是抽象工厂模式所创建的某一类产品对象的抽象父类,它负责描述某些具体产品所共有的公共接口。ConcreteProduct(如ProductA,ProductB):是抽象工厂模式的创建目标,所有创建的对象都是充当这