トップページ > プログラム > 2014年07月03日 > 0tabs9DN

書き込み順位&時間帯一覧

38 位/242 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000010100000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
オブジェクト指向なんて今すぐやめてください
Swift part2

書き込みレス一覧

オブジェクト指向なんて今すぐやめてください
491 :デフォルトの名無しさん[sage]:2014/07/03(木) 11:46:21.47 ID:0tabs9DN
>>487
プログラムするのは人間だからコンピュータがなにかを生成するわけじゃないけど
モジュールに役割と責任を与えることで責任の所在を分離する。

「これを今日中に○○商事まで届けてくれ」というミッションに対して
従来の考え方ではプログラムはあくまで入力を実行する道具(関数)でしかないから
「12:30の電車に乗ってこのルートでここで降りてこの道を行け」という
上層が細かい指示と責任を持つ形式に陥りがちだったものを
ルートと時間はオブジェクトの側で責任を持ち自分で判断するように作ることで
最初の命令に対して「電車が止まってるんですけど…」「道が工事中ですが?」を
上層の命令ミスではなく当該オブジェクトの機能の問題として責任分離(バグの局所化)ができる。

命令を「電車で〜」と上層が手段を指示するのではなく
あくまで目的の「届けろ」と限定することで、「アメリカ支局に」と大幅に
目的地が変更されても上層部の実装は変えずに
モジュール側が飛行機に選んで乗れるようにするだけで済む。
そういうモジュール分離と責任移譲の考え方>オブジェクト指向

歴史でなにが酷いって、よりによってオブジェクト指向を大々的に名乗ったC++が
ここの部分をムダ要素として切り捨てて単に継承と再利用を
オブジェクト指向の主要素とした言語だったってこと。
JavaとかもっとファンダメンタルなObjective-Cが再発見されるまで
一番大事なとこが伝わりゃしなくてみんなで
そこにはいないオブジェクト指向の意義を議論してたという…
Swift part2
345 :デフォルトの名無しさん[sage]:2014/07/03(木) 13:12:53.11 ID:0tabs9DN
いや、誤用じゃないんでむしろ誤用だと思ってつっこんでる奴の方が…


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。