兩種模式的選擇
先出圖
1、A、B、C、D、E都是對象或者視為一個獨立的功能模塊;紅色的箭頭代表數據流,綠色箭頭和黃色塊標示最終數據產出路徑;
2、模式1是一個串聯的數據流向,符合模型與直觀的邏輯概念。但是缺點是:產生控制耦合,A存在的前提必須以B存在為基礎,A必須知道B的接口和返回。同時需要判斷B的返回。整個業務的邏輯分散在A、B、C、D、E中,增加理解,維護,調試的難度;
3、模式2也能夠很好的完成功能,所不同的是,把分散在A、B、C、D、E中整個業務邏輯抽離出來,放在一個“業務邏輯控制器”當中,此時,A、B、C、D、E彼此不存在任何關聯,他們都只會被業務控制器調用。最終數據由控制器產出。
我認為模式2明顯好過模式1。雖然模式1符合直觀的邏輯思維,處理過程貼近業務原形,但事實上卻不是個好方案。
posted on 2008-08-07 23:54 肥仔 閱讀(1807) 評論(3) 編輯 收藏 引用 所屬分類: 編程思想