generated at
デメテルの法則
Law of Demeter, LoD
最小知識の原則」とも言う
















内部のデータを取得して計算するんじゃなくて、そもそも計算した結果を取ろうねみたいな
before.java
final String outputDir = ctxt.getOptions ().getScratchDir().getAbsolutePath(); // ネストして取得 ... // ↓呼び出し側で↑を使って計算 String outfile = outputDir + "/" + className.replace ('.', '/') + ".class"; FileOutputStream fout = new FileOutputStream(outFile); BufferedOutputStream bos = new Buffered0utputStream(fout);
after.java
BufferedOutputStream bos = ctxt.createScratchFileStream (classFileName);





オブジェクト間のやりとりを最小限に抑え、必要であれば直接やりとりをする
正直何が問題なのかまったくわかっていない...mrsekut


なにか?
オブジェクトA, B, Cに対し
AがBのメソッドなどを呼ぶのはOK
AがBのメソッドを経由してCのメソッドを呼ぶのがNG
というもの


何が問題?
Aが、Bに対して、Bの内部構造以上のことを知識を要求するから
で、何が問題?
テストがしづらい?


使えるドットは一つだけ
a.b.Method() はだめ、 a.Method() はok
メソッドチェーンを許容しない

関連

参考