此問題是後續for this。 假設我有一些Foo類。 class Foo {
protected String x = "x";
public String getX() {
return x;
}
}
我有一個使用Foo和違反毀滅之王(Law of Demeter)的程序。 class Bar {
protected Foo foo;
這個遊戲的源代碼是開源的,所以我決定去看看。在這裏面,我覺得是這樣的: // This ActionManager is basically a controller like in the MVC pattern.
void ActionManager::HandleQueryMessage(csString xml, Client* client)
{
//check the t
Law of Demeter(LOD)阻止了長鏈調用。它表示僅對類中直接構成的對象或方法內創建的對象調用方法,將對象作爲方法中的參數傳遞。如果B b;是類別A和B中的字段具有類型C,(C c;)的字段,則在A.java內部,其不好的做法是調用b.c.performOperation();。 根據我的理解,我們應該在每個類中做一些小的方法,在他們內部的字段上進行操作,而不是外部世界提取字段並調用方法