【发布时间】:2016-01-24 18:33:17
【问题描述】:
我有一个包含一组请求的事务类。 每 X 秒设置一次当前事务中的请求,并清除请求列表。
是否可以设计 Transaction 类,使其在析构函数销毁期间发送事务中的请求?
这意味着我们分配一个新的事务,只要它还活着就向它添加新的请求,一旦调用析构函数,所有的请求都会被发送。
这样我们可以保证:
- 所有交易都已发送(只要我们不泄露交易对象)。
- 交易发送后无法对其添加更改。
这被认为是一种好的做法吗?还是使用 SendRequests 方法发送所有请求并清除列表会更好?
【问题讨论】:
-
“是否可以将 Transaction 类设计为在析构函数销毁期间发送事务中的请求?” 不 - 你为什么要这么想?
-
这是个糟糕的主意。想象您开始一个事务,在其中执行一些所需的操作,然后抛出一些东西。你的析构函数被调用并提交了一个不完整的混乱......
标签: c++ raii object-oriented-analysis