オブジェクト指向に関するkent-where-the-light-isのブックマーク (2)

  • ObjectClub - ソフトウェア原則[3] - SRP(Single Responsibility Principle)

    前回は、IOP(Inside-Out Principle)を説明し、ソフトウェアの設計を、 システム全体をレイアウトする「場」(アーキテクチャ)を作り、 そこに安定性の順序に従って抽象を切り出していく作業。 と再定義しました。アーキテクチャを安定性の順序、すなわちInside-Outで設 計する。まずモデルから、最後にユーザーインターフェイスを設計するという のが設計活動の大きな指針です。 今回は、後半の「抽象を切り出していく作業」についての原則を紹介します。 ここで、抽象(Abstraction)というのは概念とマッピングできるモジュールのこ とです。オブジェクト指向設計では、抽象をモジュール(ソフトウェア分割の 単位)と直接マッピングできるのが大きな利点なのです。 すなわち、「クラス」がこの抽象であり、かつモジュールの役割を果たします。 SRPは、どのようにシステムをクラス分割(発見、

  • 綺麗な設計を身に付けるためのSandi Metzルール

    Webアプリやモバイルアプリの受託開発やコンサルティングを行うthoughtbot社のブログにて、Sandi MetzルールというRubyプログラマ向けのルールが紹介されていました。 Sandi Metz’ rules for developers このルールは、プログラマーでありPractical Object-Oriented Design in Rubyという書籍も執筆しているSandi MetzさんがRuby Roguesポッドキャストに出演した際に紹介していたものです。 そのルールは以下の通りです。 クラス内のコードが100行を超えてはならない メソッド内のコードが5行を超えてはならない 4つより多い引数をメソッドに渡すようにしてはならない(ハッシュによるオプションもパラメーターとみなす) コントローラーではただ1つのオブジェクトだけをインスタンス変数化できる ビューは1つのイン

    綺麗な設計を身に付けるためのSandi Metzルール
  • 1