循环包含的两个类以该用什么模式啊?
请问一下,我在写一个程序的时候有两个类。其中一个类需要用到另一个的对象,而另一个类也要用到这个类的对象。
应该怎么样组织着两个类呢?
[解决办法]
其中一个用指针
[解决办法]
A里面有一个B,B里面又有一个A,也就是说A里面可以递归包含无数个A和B。这就是一个逻辑错误。
[解决办法]
> > 可是两个类要交互啊。比如有时从A里面发一个消息到B类。这时B会用A类的一个方法来处理。
> > 这怎么办啊?
两个指针啊。
[解决办法]
我们可以先从设计(或者说抽象)的角度,而不是先从实现的角度来分析这两个类:他们之间是一种什么样的关系?组合?聚合?使用?或者其他更细的关系?
如果是他们之间需要互相通讯,那我们可以设计让它们之间的通讯经过一个 "中间者 ":
1. 将它们通过一个中间者联系起来,这两个类的对象彼此 "不认识 ",它们只知道通知中间者.
2. 中间者可以指定策略来处理某个对象发来的消息,它可以通知另外一个对象或者忽略它.
这样做的好处使这两个类的依赖降到最低.
[解决办法]
使用中介者模式,将类之间的交互封装起来。
[解决办法]
如果都用对象的话,你要先做个原型试一下自己的编译器能否通过。
否则到时候现在想的设计都泡汤了。