感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Strategyパターンについて

スポンサーリンク

Rubyの例外

begin
	quotient = 1/0
rescue
	puts('bad thing occured')
end

継承

継承はいくつかの深刻な不利益をもたらす。
というのは、どんなに注意深くコードを設計しても、サブクラスはスーパークラスに依存してしまうことだ。
そのため、継承を多用するよりは、移譲するほうが望ましい。

パターンについて復習

・変わるものを変わらないものから分離する
・インターフェースに対しプログラミングし、実装に対して行わない
・継承より集約
・移譲する

Templete Methodパターンの復習

大切なのは、変わるものと変わらないものを分離すること。
抽象基底クラスを定義して、基本的なステップを実行する主となるメソッドを持たせ、それぞれのステップの詳細はサブクラスに持たせる。
ただし、Rubyは抽象クラスや抽象メソッドを持っていないので、抽象メソッドを誰かが呼びだそうとしたときに例外を投げるようにすればよい。

Strategyパターン

「別々のオブジェクトにアルゴリズムを引き出す」テクニックのこと。
アルゴリズムは定義されていて、完了させる必要があるけれど、方法がたくさんある場合にこれを使う。
使う側からはストラテジオブジェクトしか見えない。そして、ストラテジオブジェクトには実装は含まれない。
つまり、メソッドの詳細は他のクラスに委譲している。

感謝のプログラミング

今回で感謝のプログラミングは【302時間目】
10000時間まで、あと【9698時間】