多くの場合、データベースからそれらを構築する必要がありますが、テスト用の偽物を作成したり、ファイルから読み込んだりすることもあります。不変クラスのコンストラクタに渡すパラメータは?
- アンのIDataReader
- をすべて単一のフィールド:
我々は取るコンストラクタを持つ必要があります。
- クラスの変更可能なバージョンです。したがって、レポは変更可能なバージョンを作成し、更新して、このコンストラクタを使用して不変のバージョンに変換できますか?
- 私はオプション1を好きではない完全 何か他
すべてのクラスを約System.Data
を知っている必要があります意味するので、2は大丈夫そうですが、我々は、フィールドを追加したいメンテナンスいつでもの多くを必要としているようだ、と3は大丈夫ですが、フィールドが追加されたときはいつでもメンテナンスされます(2未満です)。
ありがとうございます。
私が考えなかったもう一つのアプローチを指摘するために+1。そして、それが何を構築したのか分かっていれば、彼らはそれを戻すことができるのは残念です。私はPlanetBuilderにIPlanetを実装させる必要があると思います。 – user420667
@ user420667一方、オブジェクトユーザーにオブジェクトを意図的に使用させることを「信用しない」場合は、オブジェクトに常に反映され、足元のものを変更できることに注意する必要があります。オブジェクトの送信者を信頼しない場合は、オブジェクトを使用する前にオブジェクト全体を常に検証する必要があります。自己検証する必要があるため信頼できません。 –
@ user420667 "PlanetBuilderにIPlanet" OOppsを実装する必要があります。それは一種の重要なポイントでした!この例を修正しました。ありがとう –