C#、wpf、および .Net 3.5 について学習するために、C# 3.0 で単純なデスクトップ アプリケーションを作成しました。私のアプリケーションは基本的に csv ファイルからデータを読み取り、それを SQL サーバー CE データベースに格納します。sqlmetal を使用して、データベースの ORM コードを生成します。このアプリの最初の繰り返しは地獄のように醜く、リファクタリングの過程にあります。
それが私の質問につながります。C# でデスクトップ データベース アプリをどのように設計しますか? ベストプラクティスは何ですか?
sqlmetal によって生成されたコードを使用するデータベース アブストラクション レイヤー (DAL) を作成しますか? それとも、生成されたコードは十分に抽象化されていますか?
DAL パターンを使用する場合、シングルトンまたは静的メンバーのどちらにしますか? DAL パターンで View-Model-ModelView パターンを使用していますか?
これが長いオープンエンドの質問のように思えたら申し訳ありませんが、私は最近これについて多くのことを考えてきました. C# でエンタープライズ n 層アプリを設計する方法については多くの例を目にしますが、スタンドアロン デスクトップ アプリの設計についてはそれほど多くはありません。