コードコンプリートメモ書き〜その1〜

コードコンプリート

コードコンプリートを読んで、感銘を受けた箇所抜粋。

継承を「is a」関係のモデリングにのみ使用しているか。つまり、派生クラスがリスコフの置換原則に準拠しているか。

 ”リスコフの置換原則とは、一言でいうと「派生型(サブクラス)はその基底型(スーパークラス)と置換可能でなければならない」という原則です。
* リスコフの置換原則を守らないと必然的に開放/閉鎖原則に違反するため、リスコフの置換原則を守ることは重要です。””

https://qiita.com/hiko1129/items/9b3066feffabccf83c16#%E3%83%AA%E3%82%B9%E3%82%B3%E3%83%95%E3%81%AE%E7%BD%AE%E6%8F%9B%E5%8E%9F%E5%89%87%E3%81%A8%E3%81%AF

ゴッドクラスを作成しない。クラス名を動詞にしない。

ADTを使用する利点。

  • 実装の詳細を隠蔽できる。
  • 変更がプログラム全体に影響しない。

継承ツリーでオーバーライドされたコンストラクタとデストラクタの振る舞い。(Swift だと init と deinit)

包含(has a)は、オブジェクト指向の動力とも言えるテクニック。

可能であればすべてのコンストラクタで、すべてのメンバデータを初期化する。

タイトルとURLをコピーしました