软件设计-理论课04要领.pptVIP

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
效果(Consequences) 类适配器: 用一个具体的Adapter类对Adaptee和Target进行匹配。结果是当我们想要匹配一个类以及所有它的子类时,类Adapter将不能胜任工作。 使得Adapter可以重定义Adaptee的部分行为,因为Adapter是Adaptee的一个子类。 仅仅引入了一个对象,并不需要额外的指针以间接得到Adaptee。 * 效果(Consequences) 对象适配器: 允许一个Adapter与多个Adaptee—即Adaptee本身以及它的所有子类(如果有子类的话)—同时工作。Adapter也可以一次给所有的Adaptee添加功能。 使得重定义Adaptee的行为比较困难。这就需要生成Adaptee的子类并且使得Adapter引用这个子类而不是引用Adaptee本身。 * 实现(Implementation) 实现Adapter模式的一些有用技术: 略(见书本P95(中文版)) * 代码示例(Sample Code) 绘图编辑器 略(见书本P96(中文版)) * 已知应用(Known Uses) 略(见书本P98 (中文版)) * 相关模式(Related Patterns) Bridge模式 Decorator模式 Proxy模式 * Abstract Factory模式的实现代码分析 * Abstract Factory模式的实现代码分析 抽象基类: ProductA,ProductB:分别代表不同类型的产品,而它们的派生类则是这种产品的一个实现。 AbstractFactory:生产这一系列产品的一个抽象工厂,它的派生类是不同的实现。 接口函数: AbstractFactory::CreateProductA和CreateProductB:分别是生产不同产品的不同的实现,由各个派生出来的抽象工厂实现之。 * Abstract Factory模式的实现代码分析 解析: Abstract Factory模式创建的是一系列相关的对象,对于某个实现的有一个派生出来的抽象工厂,另一个实现有另一个派生出来的工厂。 举一个简单的例子来解释这个模式: 同样是鸡腿(ProductA)和汉堡(ProductB),它们都可以由商店出售(AbstractFactory),但是有不同的实现,有肯德基(ConcreateFactory1)和麦当劳(ConcreateFactory2)两家生产出来的不同风味的鸡腿和汉堡(也就是ProductA 和ProductB的不同实现)。抽象工厂需要特别注意的地方就是区分不同类型的产品和这些产品的不同实现。 * Abstract Factory模式的实现代码分析 代码 AbstractFactory.h AbstractFactory.cpp Main.cpp * Factory Method模式的实现代码分析 * Factory Method模式的实现代码分析 抽象基类: Product:创建出来的对象的抽象基类。 Factory (Creator):创建对象的工厂方法的抽象基类。 接口函数: Creator::FactoryMethod:纯虚函数,由派生类实现,创建出对应的Product。 * Factory Method模式的实现代码分析 解析: 在这个模式中,有两个抽象基类,一个是Product为创建出来的对象的抽象基类,一个是Factory (Creator)是工厂的抽象基类,在互相协作的时候都是由相应的Factory派生类来生成Product的派生类,也就是说如果要新增一种Product那么也要对应的新增一个Factory,创建的过程委托给了这个Factory。也就是说一个Factory和一个Product是一一对应的关系。 * Factory Method模式的实现代码分析 代码 Factory.h Factory.cpp Main.cpp * Adapter模式的实现代码分析 对象模式 * Adapter模式的实现代码分析 解析: Adapter模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用旧的接口成为可能。 * Adapter模式的实现代码分析 代码 Adapter.h Adapter.cpp Main.cpp * 相关模式(Related Patterns) Factory Method(工厂方法模式) Prototype(原型模式) Singleton(单件模式) * Factory Method(工厂方法) 模式的描述 * 模式名和分类(Name) 模式名:Factory Method(工厂方法) 分类:类创建型模式 注: 创建型模式抽象了实例化过程 类创建型

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档