名字: 建造者模式(Builder)
意图:
将一个复杂的构建与其表示相分离, 得同样的构建过程可以创建不同的表示.
动机: 软件系统中, 有时候面临着“一个复杂对象”的创建工作, 其通常由各个部分的子对象用一定的算法构成;
由于需求的变化, 这个复杂对象的各个部分经常面临剧烈变化, 但将其组合在一起的算法却相对稳定.
class Director
def initialize
@process = [:create_footer, :create_body, :create_header]
end
def build(builder)
@process.each do |p|
builder.send(p)
end
end
end
class HouseBuilder
def initialize
end
def create_footer
raise 'Abstract method'
end
def create_body
raise 'Abstract method'
end
def create_header
raise 'Abstract method'
end
end
class VillageHouseBuilder < HouseBuilder
def create_footer
puts "泥土地"
end
def create_body
puts "木石结构"
end
def create_header
puts "瓦片屋顶"
end
end
class TownHouseBuilder < HouseBuilder
def create_footer
puts "水泥地"
end
def create_body
puts "砖结构"
end
def create_header
puts "水泥板屋顶"
end
end
director = Director.new
village_house_builder = VillageHouseBuilder.new
director.build(village_house_builder)
town_house_builder = TownHouseBuilder.new
director.build(town_house_builder)
- 大小: 46.9 KB
分享到:
相关推荐
本文实例讲述了PHP设计模式:建造者模式Builder。分享给大家供大家参考,具体如下: 1. 概述 在软件开发的过程中,当遇到一个“复杂的对象”的创建工作,该对象由一定各个部分的子对象用一定的算法构成,由于需求...
C#设计模式之建造者(Builder)模式示例源代码
设计模式C++学习之建造者模式(Builder)
明确建造者(Builder)、具体建造者(Concrete Builder)、指导者(Director)、产品(Product)之间的职责和联系。 ◆建造者(Builder): 给出一个抽象接口,以规范产品对象的各个组成成分的建造。一般而言,...
建造者模式【Builder Pattern】(二)问题改进
建造者模式【Builder Pattern】(一)问题提出
NULL 博文链接:https://wy649898543.iteye.com/blog/1431751
建造者模式是一种创建型设计模式,用于简化复杂对象的创建过程。以下是建造者模式的关键概念和步骤: 1. **分离复杂对象的构建和表示**:建造者模式将一个复杂对象的构建过程与其最终的表示形式分离开来。这样做的...
Java 设计模式-建造者模式(Builder)结合Android小知识讲解,简单明了
10、建造者模式BUILDER PATTERN 11、桥梁模式BRIDGE PATTERN 12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合模式COMPOSITE PATTERN 16、观察者模式...
主要为大家详细介绍了java实现建造者模式Builder Pattern,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java设计模式【之】建造者模式【源码】【场景:车辆组装】 将复杂的对象构建,与对象的使用进行分离 用户只需要通过简单流程即可创建出对象 方法调用顺序,步骤的不同实现 优点:封装性号,创建和使用分离,扩展性...
主要介绍了C++设计模式之建造者模式Builder的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
建造者模式【Builder Pattern】(三)问题引申
3.设计模式Design Pattern:创建型模式(厂模式Factory、抽象工厂模式Abstract Factory、单例模式Singleton、建造者模式Builder、原型模式Prototype和对象池模式Object Pool Pattern)、结构型模式(适配器模式、...
建造者模式【Builder Pattern】(一)问题改进
主要介绍了Java设计模式之建造者模式(Builder模式)介绍,本文讲解了为何使用建造者模式、如何使用建造者模式、Builder模式的应用等内容,需要的朋友可以参考下
建造者模式 由四部分组成: 1.Director(指挥者): 如果创建对象的流程所在 2.Builder(抽象接口): 创建对象要实现的细节,流程依赖着细节 3.ConcreteBuilder(具体构建对象): 创建对象的具体细节实现 4.Product(具体...
php /** * 建造者模式 * * 将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示 */ class Product { public $_type = null; public $_size = null; public $_color = null; public function ...