2

私は、基幹業務の分散システムのアーキテクチャを計画しているところです。このアーキテクチャでは、非常によく似たユースケースのシナリオで、さまざまなタイプのさまざまなデバイスをサポートする必要があります。

とりわけ、私はサポートする必要があります

  • WindowsMo​​bile6.xベースのPDA
  • PCワークステーション

これらのアプリは非常に単純なビジネスロジックを提供するので、誇張されたアーキテクチャを使用したくありません。それでも、私はサポートする必要があります:

  • リモートアップデート
  • PDA(およびオプションでPC)のほとんどが切断されたクライアントのシナリオ

適切な参照アーキテクチャを調査しているときに、モバイルアプリケーションブロックのコミュニティリリースとそのリリースへのモバイルコントリビュート拡張機能に出くわしました。私が興味を持ったのは次のとおりです。

  • ほとんど切断されたクライアントのシナリオをサポートするための切断されたエージェントと接続モニター
  • アップデートをサポートするモバイルアップデータアプリケーションブロック

デスクトッププラットフォームに対応するSCSFも知っています。

さて、ここに私の質問があります

  1. あなたの経験では、VS2008 / WM6.x / .NET CF 3.5へのMCSF拡張は成熟しており、本番環境で使用するのに十分安定していますか?プロジェクトの最中は、ビジネスでの使用にはあまり適していないことを知って犠牲になりたくありません。
  2. アプリケーションは非常に簡単なので、MVPパターンやその他のCAB関連のフレームワークの追加で過度に複雑にしたくありません。上記のシナリオをサポートする必要があります。アプリケーション全体をMCSF方式(コマンド、依存性注入、MVPなど)で設計しなくても、MCSFコミュニティリリースコンポーネントを使用することは可能でしょうか?シンプルなアプリケーションのためにシンプルにしたいと思います。
  3. デスクトップPCアプリについても同じです。また、完全なCAB / SCSFを使用することは、実装する機能の非常に単純なセットであるため、ここでは大きなやり過ぎになると思いますが、アップデーターと、場合によっては切断された機能を利用して、開発時間を短縮したいと思います。クライアントブロック。複雑なUI部分がないだけです(UI用のプレーンなWinFormを作成します)。それは可能でしょうか?

また、切断されたクライアント/リモートアップデートに関連するコードの一部をPCとPDAの間で共有する可能性についても調査していますが、MCSF/SCSFではそれが可能ではないと思います。

私の前にその道を進んだ誰かからのアドバイスをいただければ幸いです:)

4

1 に答える 1

1
  1. MCSFは絶対に恐ろしいです。Microsoft の誰かが、ほとんど経験のない開発者に、SCSF を使用して Compact Framework で「機能させる」ように言っただけのようです。これは「コンパイルできれば問題ない」と訳されています。

    それは実行されますか?確かに、しかし聖なる遅さバットマン!実際のシナリオではまったく使用できません。(ほとんど) インターフェースの互換性を維持し、最小限の機能セットのみを含む置換をゼロから作成したことは十分に悪いことです。

  2. アプリに 2 つ以上のビューが含まれている場合、MVP パターンを使用する価値があることがわかりました。ある時点で、別のビューを追加する必要があり、そのために既に設計されています。また、オブジェクトを DI/IoC フレームワークに入れると、多くの場合、イベント アグリゲーションなどを有効にできます。これは、ヘッドレス アプリケーションでも非常に役立つことがわかっているため、MVP グーがなくても、最終的にはそれを使用することになります。

  3. 私の本でもデスクトップは同じです。私が作成した IoC ライブラリは、プラットフォーム間で多くのコード共有を行っているため、CF と FFx の両方を (MonoTouch と Phone 7 と同様に) 同じようにサポートしています。使用しないデスクトップ プロジェクトを作成することはめったにありません。

ここで、私の IoC プロジェクトを使用する必要があると言っているわけではありません。遭遇したすべての問題に役立つことがわかり、不足している機能の領域に遭遇したときにすぐに追加できることを十分に知っています(ただし、不足しているものは何ヶ月も見つかりませんでした). 慣れているか、別の DI/IoC フレームワークを好む場合は、それを使用してください。私が言いたいのは、a) MCSF に関係するものからは大声で逃げること、b) DI/IoC フレームワークを使用することです。実際のアプリなど存在しないため、アプリが単純すぎると考えても、DI/IoC フレームワークを使用してください。それは単純すぎて恩恵を受けられません。

于 2011-03-21T14:09:55.800 に答える