讀古今文學網 > 程序員必讀之軟件架構 > 無家可歸的C#對像(HOCO) >

無家可歸的C#對像(HOCO)

如果你聽說過「簡單的C#對像」(POCO,Plain Old C# Objects)或「簡單的Java對像」(POJO,Plain Old Java Objects),這就是無家可歸的版本。這張圖混合了許多不同層次的細節。

圖的左下部是一個SQL服務器數據庫,左上部是一個標為「應用程序」的框。注意,那個框同時還(用綠色)註明了「控制台-C#」。基本上,這個系統似乎是由一個C#控制台應用程序和一個數據庫構成的。但其他的框是什麼?

它們中大多數似乎是C#組件、服務、模塊或對象,跟我們在其他圖裡已經看過的很像。還有一個「數據訪問」框和「記錄器」框,可能是框架或架構層。所有這些框是否都代表了跟控制台應用程序和數據庫相同級別的粒度,或者它們實際上是應用程序的一部分?我猜是後者,但缺少邊界讓這張圖令人困惑。我想在大多數框周圍再畫一個大框,「所有這些東西都屬於控制台應用程序」。我想給那些框一個家。我想要理解系統如何被分解成更小的組件,同時還想瞭解執行上下文。