现在我的基础对象都在内存中(某类对象数小于百万且不常修改的我叫他基础对象),且只有一份,这样员工E1与员工E2的部门D1就会是同一个对象(内存地址相同);请问:1. 这种设计是否有问题。
继续上段,比如一组业务子系统共用一个人事子系统,我将人事子系统作为服务提供,并将服务端(人事子系统)对象同步给客户端(使用人事的业务子系统),以期望客户端也可使用这种相同对象(标识符相同)相同地址的好处,还可减少查询和传输;请问:2. 这样是否合理。
对象的行为被我搅散,典型的业务代码是这样的,比如挂失卡:(1).在数据库标记卡挂失,(2).改变当前卡对象的状态字段为已挂失,(3).引发挂失卡事件。这样我就需要在其他对象中订阅此事件并继续业务逻辑,比如记录日志、删除控制器中的白名单项、等等;请问:3. 这样分段的代码如何保证此业务的事务性质。
这是个偏执的设计,而这个设计带来的实现细节更偏执,呜呼,对象真的好难,他大爷的。
1、没有什么问题,有问题的话请问你们公司的门有几扇?
2、没有问题
3、从设计上来说应该提出“需要保证事务性”,如何保证不是设计的事,如果你说实现的话,.NET有隐式事务,WS规范有分布式投票事务
另:
在1和2问题中,尽可能控制对象的写权限