私はこのように設計されたアプリケーションを維持しています:
messy code --abuses--> simplePoco (POCO data capsule)
データカプセルは、多くのゲッターとセッター(プロパティ)を備えた単純なクラスです。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インスタンスがひどく悪用されていることを考えると、最善の方法は何ですか?