Re: [其他] 請教設計

看板OOAD作者 (.....)時間14年前 (2010/07/02 20:29), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串3/5 (看更多)
: 在這裡您說 A 的角色是控制中心, : 去使用 B (某個 Action) 跟任意其他種的 X, Y, Z 功能。 : 我覺得較不明確的是 B, X, Y, Z 的操作對象都是同一個 Subject 嗎? : 如果是的話,那不就只需要在它直接實作需要的 function 就好了? : class Subject{ : function void b(m, n); : function void x(o); : function void y(s, t); : } : 有什麼特殊的理由,要將 Subject 本身的責任委外出來呢? : 如果硬要統一,那就會像: : class Subject { : function Object execute(Action, ...args) : } : abstract class Action { : function execute(Subject, ...args) : } 應該說 X,Y,Z 像是個固定的流程 但X,Y,Z 可能在環境1裡做的是X1,Y1,Z1的事情 在環境2裡 做的是X2,Y2,Z2的事 要怎麼樣去設計 隨時可以去替換掉新版的 X,Y,Z 假設是一個產生資料和傳送資料的系統好了 @@ X 是產生資料 Y則是維護這筆資料整個在整個流程中的狀態 Z 則負責是傳送資料 然後 A 提供了 X,Y,Z 三個不同功能各一個介面 由 A 來控制這些介面之間的互動 這樣 X,Y,Z 只要各自去實作與 A 之間的介面 是不是就能抽換X,Y,Z? 目的是想在不去改 A 的情況下 (因為不管在哪個環境下 都是產生資料 維護資料 傳送資料) 看是否能單純只抽換各自的功能就好 只要在使用 A 之前 先把想用的實體X,Y,Z 傳入 A 中 也把X,Y,Z要用到的參數在產生instance時一併設定到instance就好 端看X來說, 在產生X的實作時 就可以傳入不同數量或型別的參數 只是這樣子對於給 X,Y,Z的介面參數是不是就沒那麼重要了? (是不知道這樣子好或不好@@ ) -- 這真的是要靠經驗累積啊 囧...Lv.1 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.133.70

07/02 20:33, , 1F
state machine
07/02 20:33, 1F

07/02 22:29, , 2F
怎麼重要的資訊在這篇才說orz
07/02 22:29, 2F

07/03 00:33, , 3F
不好意思 表達不太清楚 ^^"
07/03 00:33, 3F

07/04 10:14, , 4F
看起來像是用工廠模式系列...
07/04 10:14, 4F
文章代碼(AID): #1CBTl3Oj (OOAD)
討論串 (同標題文章)
文章代碼(AID): #1CBTl3Oj (OOAD)