我在边界类上有一些事件处理程序,它管理给定泛型事务的持久性机制:
void MyBoundaryClass::MyEventHandler(...) { //retrieve stuff from the UI //... //declare and initialize trasaction to persist SimpleTransaction myTransaction(.../*pass down stuff*/); //do some other checks //... //declare transaction persistor TransactionPersistor myPersistor(myTransaction, .../*pass down connection to DB and other stuff*/); //persist transaction try { myPersistor.Persist(); } catch(...) { //handle errors } }
使用某种TransactionManager来包装SimpleTransaction和TransactionPErsistor对象会更好吗?
如果我需要更高级别的封装,是否有任何有用的经验法则可以理解?
在我遵循的经验法则的那一刻,"如果方法变得太大 - 做一些事情".在处理边界事件处理程序时,有时很难在过程和面向对象之间找到适当的平衡.
任何意见?
干杯