Re: [請教] 請教strategy、state pattern in C++

看板OOAD作者 (mat)時間13年前 (2011/04/23 20:09), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串5/7 (看更多)
※ 引述《iamstudent (stu)》之銘言: : : 所有 State 都必須經由 BigClass 產生, : : 保證資源除了 BigClass 與 State 以外, : : 其他人都拿不到也看不到。 : : 這只是非常粗略的作法,不過大體上精神如此 : : 不知道這樣合乎你的要求否? : 差不多完全是正解了 : 把所有資料移動到class Data裡面去 : State的Data*用protected就可以讓繼承state的子class使用 : 不過這邊又有一個問題 : class Data 不就又要friend所有繼承State的class? : 或者class Data所有成員必須是public的? : 就沒辦法friend一個class : 然後其他繼承的class也都能夠享受這個friend的效果嗎? 不太懂你的問題.... Data 所有的欄位都是 public 有何不好? 並不是權限設成public就一定會曝露, 我的做法就是從資源的來源限制起, 目前除了BigClass與State,其他人根本看不到 Data, 那 Data 的欄位是 public/private又有什麼關係呢? -- ---- chchwy <批兔個人版> ptt2.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.97.225 ※ 編輯: chchwy 來自: 114.45.97.225 (04/23 20:11)

04/23 20:21, , 1F
其實是因為擔心其他人把那個Data的class拿去用
04/23 20:21, 1F

04/23 20:22, , 2F
雖然算是多餘的煩惱,不過code放那邊
04/23 20:22, 2F

04/23 20:22, , 3F
就會多出一個class出來,也許看的人就會以為可以用
04/23 20:22, 3F
文章代碼(AID): #1Dii5urm (OOAD)
討論串 (同標題文章)
文章代碼(AID): #1Dii5urm (OOAD)