C++でデザインパターンを実装していこうよ 第6回 Decoratorパターン

まず今回のお題です。
http://www.dofactory.com/Patterns/PatternDecorator.aspx#_self2

図書館で借りられるものというLibraryItemクラスから派生しているBookクラスとVideoクラスがあって、これにDecoratorパターンを使ってBorrowable(借りられる)という性質を付け加えています。
(Decoratorパターンの目的は
「オブジェクトに対して新たな責務を動的に付加する」)
ただ、これは動的に付け加えるべきなのか?という感じですね。
BorrowableのメソッドをLibraryItemにおいとけば良いじゃないかと。

https://github.com/TakahashiShuuhei/DesignPatternPractice/blob/master/Decorator.cpp

Webアプリなんかで、
「このページは上のほうに表示するメニューはこれで、右側に表示するのはこれで...。
だけどこっちのページは上は同じで良いけど右側は別のやつで...。」
みたいにするときとか、いろんなパーツをさまざまに組み合わせたいときなんかにはいいのではないかと思います。