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

楼主: chchwy (mat)   2011-04-23 20:35:15
推 iamstudent :其实是因为担心其他人把那个Data的class拿去用 04/23 20:21
→ iamstudent :虽然算是多余的烦恼,不过code放那边 04/23 20:22
→ iamstudent :就会多出一个class出来,也许看的人就会以为可以用 04/23 20:22
ok 我了解你的疑虑了XDDDD
不过关于这档事,你还少考虑了一个点。
如我上面那个范例,State class 别人也可以自己随便建立阿,
但是只有透过BigClass建立的 State 才能拿到正确的 Data,对吧。
Data也是一样,Data里面装什么是一回事,谁建立他又是另一回事 !!!
如果我这样写
class BigClass {
private:
Data * data;
initData(Data * data) { /*初始化data资源*/ }
public:
BigClass() {
initData(this->data);
}
};
只有 BigClass 内部的那个 Data 才能获得正确的初始化,
其他地方自己建立的 Data,都只是个有名无实的空壳。
这样算不算管好使用资源的权限了呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com