《设计模式06》-构造器.pdfVIP

  • 3
  • 0
  • 约5.54千字
  • 约 15页
  • 2018-11-16 发布于浙江
  • 举报
《设计模式06》-构造器

创建型设计模式 5.构造器/生成器方法 回顾工厂方法模式 Client -fac1: Creator Creator Product -fac2: Creator -prod1: Product +FactoryMethod(): Product -prod2: Product +CreateAndUse() ConcreteCreator1 ConcreteCreator2 ProductA ProductB +FactoryMethod(): Product +FactoryMethod(): Product return new ProductA return new ProductB 新问题?  工厂方法—适应产品变化,实例化相应产品  创建复杂产品或复合产品呢? 构成复合产品的子产品种类变化 (用工厂方法解决) 构成复合产品的子产品数量变化呢? 构成复合产品的子产品装配过程变化呢? 构成复合产品的算法变化呢? 例 Client 墙 -结束1 -结束2 原料 +Profit() 1 * +Cost() 水泥 砖 红砖 空心砖 使用工厂方法后 墙 -结束-结1束2 Client 原料工厂 原料 +Create() +Create(in typename) * * +Cost() +Profit() Create( Factory myFac) { myFac.Create(红砖); 水泥 砖 myFac.Create(水泥); Cover(红砖,水泥); myFac.Create(红砖); myFac.Create(红砖); Cover(水泥,红砖); 红砖 空心砖 } 考虑  红砖的数量变化呢?  有必要知道“水泥”吗?  墙的构建过程采用硬编码,好吗?  目标:将与构建墙的过程独立出去。 去掉具体产品的硬编码

文档评论(0)

1亿VIP精品文档

相关文档