- 论坛徽章:
- 0
|
进程A 和 进程 B 需要通信, A发送(由class Send 完成), B接收(由class Recv)。发送的数据值有限的,也就是说把一个枚举值发送出去, 我的设计伪代码如下:
进程A:
class Send{
public:
send_event(eventid);
};
进程B:
class Recv {
public:
recv_event(eventid);
};
然后定义一个event 头文件 由A 和 B包含进去就可以了,
enum event{
EVENT_1,
EVENT_2,
EVENT_3,
EVENT_4,
EVENT_5,
EVENT_6,
EVENT_7,
EVENT_8,
......
};
但是同事觉得以下方式好:
class Send{
public:
send_event_1();
send_event_2();
send_event_3();
send_event_4();
send_event_5();
send_event_6();
send_event_7();
send_event_8();
.....
};
class Recv{
public:
recv_event_1();
recv_event_2();
recv_event_3();
recv_event_4();
recv_event_5();
recv_event_6();
recv_event_7();
recv_event_8();
.....
};
我这种方式设计的代码太冗余,并且接口总是随着event 变化而变化,没有可扩展性。
大家看看如何 |
|