2012-03-26 46 views
0

在最近的代码重构中,我正在实现一种将数据处理与数据本身隔离开来的想法。它就像责任链一样 - 处理单元提供处理特定业务范围内的数据的能力,同时数据对象通过整个处理链传递。有没有什么优雅的方法来阻止一个班级持有私人数据?

进一步的优化是通过“单一化”处理链实例完成的。考虑到潜在的并发问题,需要在这些处理单元中删除任何私有数据引用。

所以,我想知道是否有一些编程范例可以建议其他程序员在未来进行修改时符合这种模式。

在此先感谢〜

+1

我只想指出你正在做的和'贫血模型'设计(反)模式非常相似。个人 - 我全都反对它。 OO设计(我喜欢)基于将数据及其操作集中在一个地方。这是Martin Fowler对此的看法:http://martinfowler.com/bliki/AnemicDomainModel.html – 2012-03-26 16:39:54

+0

内置了一个* APT *工具。 – fwonce 2013-01-10 02:04:08

回答

1

该原则称为“服务无状态”。在面向服务的设计范例服务应该是无状态的,因此他们没有私人数据。无状态是为了支持可扩展性所需要的。

更新:如果您需要某些状态数据(上下文,会话,业务),有一种优雅的方式来阻止类保存称为状态管理委派和状态延迟的私有数据。状态延迟示例可以是专用数据库/表,您的组件用它来写状态并稍后检索它。

相关问题