うまくいけば、簡単なものです。Xamarin のおかげで、おそらくデスクトップ (WPF)、Web、任意の数のモバイル ビルド出力を持つ予定の C# 製品を見ています。
いくつかのコンポーネントがあります:
- 私は「CoreApi」プロジェクトを持っています。これには、アプリのフロントエンドを作成するために呼び出すことができるインターフェースと共有モデルがあります(バックエンドを作成するために実装されます)。
- また、別のアセンブリにすべての「アプリ ロジック」があります。現在、MVVM パターンのビュー モデルと同様のスタイルですが、アプリに焦点を当てています。
- applogic に含まれるインターフェイスのプラットフォーム固有の実装があります。これは、再生用のオーディオ バッファを動的に生成することに関連しています。プロジェクト/アセンブリも分離
私はNinjectを使用していますが、うまく機能します。しかし、ソリューションが他のプロジェクト タイプ (Web、モバイル クライアント) を含むように成長するにつれて、いくつかの「におい」が予見できます。
現在、クライアント プロジェクトには、プラットフォーム固有の (DirectX) オーディオ エンジンと、バックエンドのローカル/テスト実装への参照があります。それはまだNinjectを使用しており、実装クラスを直接参照していませんが、それらにアクセス可能で直接参照することは間違っているように感じます.
ソリューションのビルド時に、さまざまな「パッケージ」が必要です。
- パッケージ 1: デスクトップ クライアント + DirectX エンジン + バックエンド X
- パッケージ 2: バックエンド Y の Web 配置パッケージ
- パッケージ 3: バックエンド X を搭載した Android バージョン + Android オーディオ エンジン...
私は正しい軌道に乗っていますか?ビルド後の手順に頼って、ターゲット フォルダーに xcopy する必要がありますか?