我的应用程序中有一些这样的代码。它写出一些 XML:-
public void doStuff( Business b, XMLElement x)
{
Foo f = b.getFoo();
// Code doing stuff with f
// b is not mentioned again.
}
据我了解,摄魂怪法则会说这很糟糕。“代码完成”说这是增加耦合。这种方法首先应该采用“f”。
public void doStuff( Foo f, XMLElement x)
{
// Code doing stuff with f
}
但是,现在我来更改此代码,我确实需要在b
.
public void doStuff( Business b, XMLElement x)
{
Foo f = b.getFoo();
// Code doing stuff with f
// A different method is called on b.
}
由于更改完全在方法内部,因此该接口使生活变得更轻松。我不必担心从应用程序周围调用它的许多地方。
这向我表明原始设计是正确的。你同意?我错过了什么?
PS。我不认为该行为属于 b 本身,因为域对象不知道该系统中作为 XML 的外部表示。