Design Patterns
作成系、構成系、振る舞い系。考え方の型をコードパターンにして、思考・コミュニケーションに活かす。
作成系
Factory method
singleton
構成系
既にできてる実体(インスタンスなど)に機能(実体の間のやりとりなど)を追加・変更したい場合に考える?
composite
delegate
振る舞い系
Observer pattern
メソッドをちょっと?変えたい
メソッドを柔軟に組み合わせて、ランタイム時に実行したい。
command pattern
コマンド(名)を引数に取る形
コマンドを受ける部分を一本化できる
コマンドの組み合わせを1つのコマンドの表現とすることができる
strategy pattern
適用する関数を複数用意しておく。
いくつかあるオブジェクトに必要なstrategy関数を適用する。
複数のオブジェクトでの集計の際に、統一的なメソッド名(抽象化してたもの)で集計などに適用する
ストラテジーとコマンドは何が違うのか?
java - Difference between Strategy pattern and Command pattern - Stack Overflow
あとで読みたい
Producer-Consumerパターン
参考
10年くらい前に、rubyによるデザインパターンを読んだときのメモが、、、