我正在開發一個更加面向對象的方法來在我正在開發的一個新系統中的ASP.NET web應用程序。一個實用的面向對象的設計問題
我有一個大多數人都會熟悉的共同結構。我有一個有多個部門的學校結構;屬於單一部門的課程;和屬於多個課程的學生。
在部門視圖我列出屬於該部門的所有課程,我想爲每門課程彙總數據,如招生,取款的次數,數量男/女等
在一個單獨的課程觀但是,我將需要實際的學生名單以及他們的詳細信息,例如他們是否註冊,通過課程,性別等。
然後顯示所有學生的詳細信息,包括其他課程的註冊信息,地址等
以前,我會有廣告在訪問層返回任何我需要在每種情況下的數據,並返回它作爲SQLDataReader
或DataSet
(在VB.NET中工作)。現在,我試圖在面向對象的方法中對此進行建模,我在DAL中創建對象並將它們返回到BLL。我不知道如何處理這個,雖然當我需要對象的聚合細節。例如,在部門視圖和課程列表中,我將爲每個課程彙總。我會在輕量級課程對象存儲聚合值的部門中存儲一些輕量級課程對象的集合嗎?
我想在不同的場景中需要不同的抽象層次,我不確定處理這種情況的最佳方式。我應該有一個對象模型,其中有一個存儲聚合的非常基本的課程對象,以及一個可以存儲完整細節的子對象?另外,如果有任何有用的資源可以幫助我理解如何對這些偉大的事物建模。
感謝您的回覆至今 - 非常感謝。我仍然不完全相信某種特定的方法。我還沒有機會閱讀Mark Seemann的領域驅動方法,但將在稍後討論。我同意安東的觀點,並希望在分貝中進行彙總,因爲這將是最佳表現。但我不確定這些ORM是否會對性能產生不利影響? – Nick 2009-10-08 09:54:07
是否有人認爲可能面向對象的方法對於這種情況並不理想,或許它增加了太多的複雜性? – Nick 2009-10-08 10:34:06