看板
[ OOAD ]
討論串[請教] 請教strategy、state pattern in C++
共 7 篇文章
內容預覽:
我不懂C++ 也看不太懂你的問題. 但是如果一個龐大的class內部有許多需求需要改變的時候 一般會用下面作法:. 原本狀態:有一個物件叫做Computer. 他有9種方法(method1-method9)以及5種實體變數(ivar1-ivar5). 用pseudo-code表示:. class C
(還有3040個字)
內容預覽:
既然是C++,我就用C++來寫. /* 你說的大class */. class BigClass {. private:. Data * data; //不希望公開曝露的資源,但是必須給State使用。. public:. State* getState() { // 透過BigClass建立Sta
(還有338個字)
內容預覽:
ok 我了解你的疑慮了XDDDD. 不過關於這檔事,你還少考慮了一個點。. 如我上面那個範例,State class 別人也可以自己隨便建立阿,. 但是只有透過BigClass建立的 State 才能拿到正確的 Data,對吧。. Data也是一樣,Data裡面裝什麼是一回事,誰建立他又是另一回事
(還有295個字)
內容預覽:
當一個大class內的工作內容會發生變化時. 可以把不同的處理方法抽出去. 然後利用虛擬函數的多型來達成目的. 但是我在c++使用上有點困擾在. 要使用的資源都在原本的大class中. 而抽出去的這些state都要使用它們. 只想到兩個方法. a 在大的class中使用friend. b 在大的cl
(還有215個字)