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