0
假設我們有一個帶有selectOneMenu
的UI,其中包含兩個項目basic
和customized
。讓class DocumentController
負責生成所選類型的PDF文檔(basic
或customized
)。設計改進
很明顯,UI的擴展(例如新項目)導致class DocumentController
的修改。因此,class DocumentController
違反開閉原則,這意味着它也違反了單一職責原則
我解決基礎上,職責鏈設計模式的這個問題的辦法,所以我對每個項目創建的selectOneMenu
一個單獨的類。現在,應用程序對擴展是開放的,但對於修改而言是封閉的,每個類都負責完成一件事。
現在我的問題是如何管理新類的不相交和commen數據。是責任鏈設計模式適合這個問題嗎?
謝謝你的任何建議
難道你不能只是做一個DocumentController的抽象?然後,「新項目」不會修改現有的類,而只是擴展抽象。 –