问个面向对象程序设计思想的有关问题
问个面向对象程序设计思想的问题
如果我定义IP规则为一个类,叫CIpRule,有两个成员变量sip,dip;
现在我想定义一个TCP规则,名叫CTcpRule,有两个成员变量sport,dport。你说CIpRule与CTcpRule是继承关系还是组成关系?
考虑以后我要定义UDP/ICMP规则
------解决方案--------------------
我觉得,你这个不是面向对象的分析方法应该考虑的方式,更像是过程化思考方式的产物。
你上来就说有一个类,这明显是不对的。
对象是可以抽象出来的事物,然后对它进行分析得到的结果。
类<>对象
请不要出这个错误。
------解决方案--------------------
单纯的讨论这几个对象似乎意义不大,问题是还有没有其他的,如怎么操作这些对象,有没有固定的接口,有没有需要扩展的接口,设计模式应该从全局来考虑
------解决方案--------------------
对领域模型尽量“傻瓜式”地描述,然后你在使用符号来表达它时再使用抽象技术来反映它的关联、职责和扩展性。描述领域模型时尽量忘记自己是个计算机开发人员,而仅仅从简单、无歧义的语言逻辑的角度去描述它。描述出来的东西被人理解得不同,得出的对象关系就不同。
------解决方案--------------------
我觉得可以设计一个ProtocolRule的接口,然后让ip, tcp, udp 等去实现这个接口。
ProtocolRule:接口上有规则需要执行的函数声明,然后让每个协议去实现它。读写规则可以在初始化,和销毁对象的时候做
如果我定义IP规则为一个类,叫CIpRule,有两个成员变量sip,dip;
现在我想定义一个TCP规则,名叫CTcpRule,有两个成员变量sport,dport。你说CIpRule与CTcpRule是继承关系还是组成关系?
考虑以后我要定义UDP/ICMP规则
------解决方案--------------------
我觉得,你这个不是面向对象的分析方法应该考虑的方式,更像是过程化思考方式的产物。
你上来就说有一个类,这明显是不对的。
对象是可以抽象出来的事物,然后对它进行分析得到的结果。
类<>对象
请不要出这个错误。
------解决方案--------------------
单纯的讨论这几个对象似乎意义不大,问题是还有没有其他的,如怎么操作这些对象,有没有固定的接口,有没有需要扩展的接口,设计模式应该从全局来考虑
------解决方案--------------------
对领域模型尽量“傻瓜式”地描述,然后你在使用符号来表达它时再使用抽象技术来反映它的关联、职责和扩展性。描述领域模型时尽量忘记自己是个计算机开发人员,而仅仅从简单、无歧义的语言逻辑的角度去描述它。描述出来的东西被人理解得不同,得出的对象关系就不同。
------解决方案--------------------
我觉得可以设计一个ProtocolRule的接口,然后让ip, tcp, udp 等去实现这个接口。
ProtocolRule:接口上有规则需要执行的函数声明,然后让每个协议去实现它。读写规则可以在初始化,和销毁对象的时候做