R
Reesinx
Unregistered / Unconfirmed
GUEST, unregistred user!
因这里不能帖图, 我给出两个链接:
http://voidclass.googlepages.com/citd1.JPG
http://voidclass.googlepages.com/ctid2.JPG
问题出在第2张图上, 主要是两个类互相包含的问题。
我写一个TDeviceMgr类,这个类是一个语音卡管理类。
还有一个TIVRMgr类,主要用于IVR逻辑处理,比如,用户把电话打出系统后,按1程序如何处理,按2程序如何处理。这个地方我想先写一个类,然后下一版本的时候考虑改用Python脚本来写,但是现在项目时间紧张,写成一个类。
再有就是一个TSocketSvr类,主要负责管理语音服务器与坐席之间的通讯。
现在问题出现了,在TDeviceMgr类中要使用到TIVRMgr对象和TSocketSvr对象,而在TIVRMgr和TSocketSvr类中又要用到TDeviceMgr对象,这样就出现类的互相包含。在Delphi中是不允许将这三个分开写在三个单元中的,只能写一个单元中。而写在一个单元中又不利于封装。
请问一下,是我设计上出了问题还是可以通过其他方法还实现将这三个类分别放在各自的单元中?
关于这些类的设计的更详细信息,我放在网站上了。
http://www.voidclass.com/doc/index.html
http://voidclass.googlepages.com/citd1.JPG
http://voidclass.googlepages.com/ctid2.JPG
问题出在第2张图上, 主要是两个类互相包含的问题。
我写一个TDeviceMgr类,这个类是一个语音卡管理类。
还有一个TIVRMgr类,主要用于IVR逻辑处理,比如,用户把电话打出系统后,按1程序如何处理,按2程序如何处理。这个地方我想先写一个类,然后下一版本的时候考虑改用Python脚本来写,但是现在项目时间紧张,写成一个类。
再有就是一个TSocketSvr类,主要负责管理语音服务器与坐席之间的通讯。
现在问题出现了,在TDeviceMgr类中要使用到TIVRMgr对象和TSocketSvr对象,而在TIVRMgr和TSocketSvr类中又要用到TDeviceMgr对象,这样就出现类的互相包含。在Delphi中是不允许将这三个分开写在三个单元中的,只能写一个单元中。而写在一个单元中又不利于封装。
请问一下,是我设计上出了问题还是可以通过其他方法还实现将这三个类分别放在各自的单元中?
关于这些类的设计的更详细信息,我放在网站上了。
http://www.voidclass.com/doc/index.html