作者chchwy (mat)
看板OOAD
标题Re: [请教] 请教strategy、state pattern in C++
时间Sat Apr 23 20:09:25 2011
※ 引述《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)
1F:推 iamstudent :其实是因为担心其他人把那个Data的class拿去用 04/23 20:21
2F:→ iamstudent :虽然算是多余的烦恼,不过code放那边 04/23 20:22
3F:→ iamstudent :就会多出一个class出来,也许看的人就会以为可以用 04/23 20:22