ブックマーク / wiki.hacklife.net (2)

  • Concepts + Principles - プログラミングの原則 - DuckTyping

    「オブジェクト指向入門」によるとクラスは二つの見方ができる。 型としてのクラス モジュールとしてのクラス DuckTyping におけるクラスは「モジュールとしてのクラス」であり、モジュールとは「外部に提供されるサービスの集合」である。そして、サービスとは「機能の意味・役割」だ。 つまり、DuckTyping はクラスの提供するサービスに注目して設計することで、データ構造・型の変化へ柔軟に対応する設計方針である。 言語の仕組みとしては、サービスを実現する*1インスタンスを実行時に決定する動的束縛(DynamicBinding)によって支えられている。 DuckTypingはオブジェクト指向の概念の発明者は誰ですか?で解説されている「手続きによる抽象化手法」そのものである。 クラスはインターフェイスから知るべきである。 インターフェイスはクラスが提供するサービスを示し、実現部分からは独立して

  • Concepts Principles - プログラミングの原則 - Concepts Principles - Top

    ここはプログラミングの原則を集める Wiki です。巨人の肩に乗って、ふつうの人がよいプログラムを書くための指針を集めたいなと思ってます。 目次 よいデザインのための Concepts + Principles DRY (Don'tRepeatYourself) 名前重要 直交性 トラッシュではなくクラッシュ DuckTyping よいルーチンを書く 凝集性 結合性 契約による設計 (DesignByContract) ルーチンを作る正当な理由 よいモジュールを書く 適切なモジュール性を確保するために守らなければならない5つの原則 開放/閉鎖原則 (OpenClosedPrinciple) よいアプローチのための Concepts + Principles 曳光弾 可逆性

  • 1