我正在维护一个设计如下的应用程序:
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
当我想要更改通知(选择性慢)?或者 ...让一切虚拟化并
notifyingPoco
在上面滚动我自己的自定义类simplePoco
(甚至更慢)?我不知道的设计模式?
它是一个客户端/服务器系统,但我只是在修改服务器部分,所以如果可能的话,我宁愿 不接触凌乱的代码或客户端代码(有序列化程序和反射以及可怕的忍者东西......)不小心打破任何东西。
使用接口会阻止 JIT 内联对 getter/setter 的调用吗?
考虑到 simplePoco 实例被严重滥用,最好的方法是什么?