原型模式(Prototype)
程序员文章站
2022-06-12 21:43:18
...
名字: 原型模式(Prototype)
意图: 用原型实例指定创建对象的种类, 并且通过[b]拷贝[/b]这些原型创建新的对象.
动机: 替换较复杂的等级结构的工厂方法.
[img]http://dl.iteye.com/upload/attachment/195740/8e94461a-e53d-3430-bedd-96231df39674.jpg[/img]
意图: 用原型实例指定创建对象的种类, 并且通过[b]拷贝[/b]这些原型创建新的对象.
动机: 替换较复杂的等级结构的工厂方法.
class ScreenPrototype
attr_accessor :width, :height
def initialize(width, height)
self.width = width
self.height = height
end
def display(name)
puts "#{name} screen: #{self.width} x #{self.height}"
end
end
class Client
def self.run
h = {}
h[:normal] = ScreenPrototype.new(1024, 768)
h[:tft_lcd] = ScreenPrototype.new(1280, 800)
name = :normal
new = h[name].clone
new.display(name)
end
end
Client.run
[img]http://dl.iteye.com/upload/attachment/195740/8e94461a-e53d-3430-bedd-96231df39674.jpg[/img]
上一篇: 电脑族周末健身 选择以下四种运动
下一篇: Python程序设计入门(4)模块和包