オブジェクト指向は戦場では必要なし7 は必要なし
■ このスレッドは過去ログ倉庫に格納されています
0057素朴な初心者
NGNGどこでアクセスされてるか調べるとすると、、
・クラス内の情報(privateなメンバ変数、フィールド変数)にアクセス
できるのは、メンバ関数(メソッド)に限定できる
(クラス内でどこかをまず探せばいい)
・クラス外からのアクセスをトレースする際は、アクセッサ(setXXX(),
getXXX())に限定してサーチすればいい
Cのグローバル変数を横着に利用した時や、全て関数へのパラメータ渡し
より、トレーサビリティ上は向上してると思う。全てパラメータ渡しにす
るとどこでアクセスされてるか、シーケンシャルに追う事ができるかもし
れんけど、本当に必要な所に辿りつくまで大変じゃないの?
(激しく勘違いしてます?)
問題になるとしたら、既出ですが超巨大なクラスを作ってる場合かな?
クラスのメンバ変数とメンバ関数ローカル変数と命名規約で区別するのは
トレーサビリティの向上につながると思うので、あってもいいと思う。
(javaで書くときは上位クラス変数ならsuper.XXXだし、同一クラス内なら
this.XXXと書くし、複数クラス間で色々な場所で共有したい情報はシング
ルトン作ってgetInstanceして使うし)
特定の情報にアクセスできるメソッドを集めてクラスを作成して、グロー
バルに共有したり、クラス間でやりとりする情報を最小限にして疎な状況
を作るように促すオブジェクト指向の方が、構造化設計より進歩してると
思うのですが、教科書レベルでしょうか?
・設計におけるオブジェクトの責務分配に有効なものさし 凝集度と結合度
http://www.ogis-ri.co.jp/otc/hiroba/technical/Cohesion_Coupling/Cohesion_Coupling.html
・SCだより
「ソフトウェア開発201の鉄則
設計の原理73カップリングとコピージョンをつかえ」
http://village.infoweb.ne.jp/~fwgf2942/SCNews/hpblock96/SCNews96.html#anchor830805
・キーワード(凝集度と結合度):
http://village.infoweb.ne.jp/~fwgf2942/KeyWords/KW.Coupling.html
■ このスレッドは過去ログ倉庫に格納されています