2017-07-23から1日間の記事一覧

(8) コンポジションでオブジェクトを組み合わせる

(7) モジュールでロールの振る舞いを共有する

(6) 継承によって振る舞いを獲得する

(5) ダックタイピングでコストを削減する

(4) 柔軟なインターフェースをつくる

インターフェース クラス間の窓のようなもの。界面や接触面、中間面。クラス内のメソッドと、何をどのように外部に晒すのか。 オブジェクト志向アプリケーションはクラスから成り立つが、「メッセージ」によって定義される。 アプリケーション設計で中心とな…

(3) 依存関係を管理する

オブジェクトは単一の責任を持っている→複雑な問題を解決するためにはオブジェクト間で共同作業をする必要がある 一方のオブジェクトに変更を加えたとき、他方のオブジェクトも変更しなければならない=依存関係がある class Gear def initialize(hoge, fuga…

(2) 単一責任のクラスを設計する

TRUE 変更が簡単なコードに伴う性質 Transparent(見通しが良い) 変更するコードにおいても、そのコードに依存する別の場所のコードにおいても、変更がもたらす影響が明白 Reasonable(合理的) どんな変更があってもかかるコストは変更がもたらす利益にふ…