首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

ruby设计方式之合成模式1————基本的合成模式

2012-11-16 
ruby设计模式之合成模式1————基本的合成模式前几天在《戏说设计模式》这篇文章中看到了一段关于组合模式的描

ruby设计模式之合成模式1————基本的合成模式
前几天在《戏说设计模式》这篇文章中看到了一段关于组合模式的描述:

class CompositeTask < Task def initialize name super name @sub_tasks = [] end def add_sub_task task @sub_tasks << task end def remove_sub_task @sub_tasks.delete task end def get_time_required time = 0.0 @sub_tasks.each {|task| time += task.get_time_required} time endendclass MakeBatterTask < CompositeTask def initialize super 'Make batter' add_sub_task AddDryIngredientsTask.new add_sub_task MixTask.new endend
总的说来合成模式适合表示整体和部分的关系,或者说是零件和模块的关系,若干零件合成一个模块,而从本质上来说模块也可以是一个零件;合成模式可以用来构造树用来表示整体和部分的关系。合成模式将零件和组合而成的模块同等看待。

热点排行