为之后的跨平台Select模型作准备,先写一个网络事件类:
#ifndef __NETWORKEVENT_H__
#define __NETWORKEVENT_H__
#include "Platform.h"
namespace LinWin
{
class CNetworkEvent
{
public:
virtual int OnAccept(net_socket_fd &fdAccept) = 0;
virtual int OnRead(net_socket_fd fd) = 0;
virtual int OnWrite(net_socket_fd fd) = 0;
virtual int OnClose(net_socket_fd fd) = 0;
};
}
#endif // !__NETWORKEVENT_H__
这也是一个纯虚类,真正的实现类继承此类实现所有功能。不知道这样实现起来,会使编程起来更容易,还是更复杂。但尝试一下总是可以的。我的目标是尽量降低类之间的耦合,更依赖抽象(类),而不是更依赖实现(类)。
本文介绍了一个用于跨平台的网络事件基类的设计思路。该类包含四个纯虚函数,分别对应于网络连接的接受、读取、写入及关闭等操作。真正的功能实现在继承该基类的具体子类中完成。
1841

被折叠的 条评论
为什么被折叠?



