2009-07-10 16 views
2

您是否試圖保持與主組件的距離爲每個組件?那些僅包含Business Objects定義的程序集呢?是否有可能讓他們遠離疼痛區域?這種組件中的類型通常被其他組件使用,並且相當具體。如何處理這種情況?N組件上的度量指標

回答

5

我相信{保持「與主序列的距離」低}的目標是基於Law of Demeter。遵循這個規則有助於使您的代碼更易於理解,並且更易於進行單元測試。通過使用僅僅是數據容器的Business Objects,您將暴露更多的狀態,而不是必要的並破壞封裝規則。

然而,作爲福勒points out in this article,「雖然方法鏈是一種氣味,中間人對象與轉發方法臃腫相反的問題也是一種氣味。(我一直覺得我會更舒適的法律)「

我認爲,如果您只想傳遞對象包含的」什麼「,比如它們如何用作數據,那麼這些基本Business Objects的價值可能很有用轉移對象。但是,從空白的數據傳輸對象中提取真正的Business Objects可能很重要。我會假設真正的Business Objects還應該包含行爲以及它們封裝的數據。