誰かが以下のようなGoFのテキストブックの合成パターンをデータベースに保持する方法のエンドツーエンドの良い例はありますか?複合パターンの実装を維持する - ruby on ruby
コンポーネントの基本クラス:
class Task
attr_reader :name
def initialize(name)
@name = name
end
def get_time_required
0.0
end
end
複合クラス:
class CompositeTask < Task
def initialize(name)
super(name)
@sub_tasks = []
end
def add_sub_task(task)
@sub_tasks << task
end
def remove_sub_task(task)
@sub_tasks.delete(task)
end
def get_time_required
time = 0.0
@sub_tasks.each { |task| time += task.get_time_required }
time
end
end
ありがとうございました。あなたはCompositeTaskによって作成された関係をどのように維持しますか? – rg1176
更新しました – EJ2015