我想實現一個實際包含3的系統,每個系統的功能因用戶角色類型而異。即一個允許用戶根據角色類型執行不同任務的系統;角色類型在創建用戶時確定。用戶不能使用他們的角色訪問系統的其他組件/功能,並且用戶界面對於每個用戶都是唯一的。*基於角色的面向對象設計 - 控制器
我需要這些「系統」彼此獨立行動,但我發現一些常見行爲(通常是組成機會)。
目前,我有3個控制器,因爲這是我設計的原始意圖 - RoleType1Controller,RoleType2Controller,RoleType3Controller。顯然,這些分支獨立出來,觸摸他們需要觸摸的類。
我正準備在功能上做出一些相當大的增強功能,只要我將腳放在地上,並且需要考慮這些增強功能,因爲其中一些功能將成爲系統的共同驅動點。即我希望系統能做幾件事情,但同樣重要,但目前只能實現一項主要功能。
關於OOD,我認爲這個「三個系統合一」的方法可能最適合即將到來的變化。然而,這些組合的機會以及與擁有單一控制器的標準保持一致的願望正在嚴重影響我的決策過程。
有沒有人有這樣的經驗,或者,如果不是,經驗在OOD,並可以指向我在正確的方向嗎?我從頭開始構建,所以(顯然)在第一次迭代中定義了系統的框架。我希望它儘可能健壯和靈活。
任何幫助將不勝感激。
*我不使用用戶界面來驅動我的設計過程......我只是認爲這些額外的信息可能會有所幫助。