【发布时间】:2010-11-19 18:43:34
【问题描述】:
我正在维护一个设计如下的应用程序:
messy code --abuses--> simplePoco (POCO data capsule)
数据胶囊是一个简单的类,包含许多 getter 和 setter(属性)。它使用 DI 框架并始终使用 IoC 容器来提供数据胶囊的实例(真幸运!)。
问题是,我需要在simplePoco中引入“变更通知”机制
messy code --abuses--> simplePoco
|
V
changes logger,
status monitor
(I wanna know about changes)
我有几个选择:
引入
IPoco并修改乱码,以便我可以有simplePoco用于速度或notifyingPoco当我想要更改通知时(选择性慢)?或...将所有内容都虚拟化并在
simplePoco之上滚动我自己的自定义notifyingPoco类(甚至更慢)?我不知道的设计模式?
这是一个客户端/服务器系统,但我只是在修改服务器部分,所以如果可能的话,我宁愿不接触凌乱的代码或客户端代码(有序列化程序和反射以及可怕的忍者东西......)以免意外破坏任何东西。
使用接口会阻止 JIT 内联对 getter/setter 的调用吗?
考虑到 simplePoco 实例被大量滥用,最好的方法是什么?
【问题讨论】:
标签: interface virtual poco inlining