类设计的一点小疑问,该如何处理

类设计的一点小疑问1.类应该符合单一职责,只做一件事,但是有些时候,类需要获取消息,就会在类里面添加消息

类设计的一点小疑问
1.类应该符合单一职责,只做一件事,但是有些时候,类需要获取消息,就会在类里面添加消息处理函数HandeEvent(),但是为类添加方法HandeEvent,就感觉类除了做它的职责,还需要会去处理一些事件? 如果消息不传递给类,那谁来捕获这消息,谁来处理这消息,调用类呢?
2.谁来管理类? 一个类就相当于一个零件,组合起来就是一个完整的工程,谁来组织这些类的逻辑操作呢? 是不是创建一个管理的类,保存所以创建的类的指针,然后它来捕获消息,根据消息来调用具体的各个类呢?但是这样这个管理类会不会四不像,什么事都做?

初学者,希望大家指点下


[解决办法]
看设计模式, 软件工程.

参考STL的概念以及实现. 

总之,看书.
[解决办法]
答复:1、类的单一职责原则是设计类的一种理想话的状态,实际应用中只能尽量做到这一点,设计时需要权衡,而不能生搬硬套。你说的事件处理机制,如果很多事件,你可以将其从你的类里独立出来;如果觉得事件需要调用你的类的数据,那你可以考虑先封装事件处理机制,然后在你的类中组合该项功能即可。

2、猜想你说的应该是控制类。这个要根据你的需求分析,设计相应的控制类,进行调度和管理相互之间的通信。控制类俗语叫中间类,如果你了解需求分析和设计,我想控制类的作用无需我多言。

希望我的答复能给你微末的帮助!:)
[解决办法]
看设计模式吧。GOF的那本,权威