私はモデルのための2つのクラスライブラリと、ビューモデルのためのもう1つのライブラリを持っています。ビューモデルに追加されたオブジェクトは、別個のモデルプロジェクトから継承しますが、参照を追加するためにMVVMを破棄しますか?
ライブラリの1つにCondenserという名前が付けられ、WaterCooledCondenserというクラスがあります。このクラスは、SubcomponentsプロジェクトのHeatExchangerクラスから継承されます。凝縮器はビジネスロジックですが、ビューモデルが対話するように設計されています(モデルの一部です)。ビューモデルに新しいCondenserを作成すると、HeatExchangerは参照されず、サブコンポーネントへの参照を追加します...ビューモデルには、そのライブラリのクラスについて何も知らないビジネスはありません。モデルに構造を提供することのみを意味していました。
クラスライブラリへの参照を追加すると、MVVMに違反しますか?ビューモデルにモデルの構造について何か知ってもらうという別の方法がありますか?
VMがモデルを知ることができないと言ってくれた人は誰でもあなたを動かしていました。 – Will
@ウィルビューモデルがモデルについて正確に知ってはならないというわけではありませんでした。実際の物理的オブジェクトが派生する抽象クラスについて知っておくべきではないと思いました。私は抽象クラスを構造体を定義する "コア"に入れ、入力/出力変数のセットが解決可能なシステムを与えると言うデータベースを持っています。 – kleineg
クラスが内部クラスである場合、そのクラスをアセンブリに公開することはできません。あなたの問題は、決して存在しません。喜ぶ!あなたは何も心配する必要はありません。 – Will