欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

原型模式(Prototype)

程序员文章站 2022-06-12 21:43:18
...
名字: 原型模式(Prototype)
意图: 用原型实例指定创建对象的种类, 并且通过[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]
相关标签: prototype Ruby