最初にSQL Server 2008をDBMSとして使用するアプリケーションを構築しています。どのようにしてアプリケーションを構造化し、後で別のDBMSを使用できるようにするべきですか?オラクル、私のコードを変更することなく、すなわち構成のみを介して。「プラグイン」データアクセスレイヤーを使用できる.Net Webアプリケーションを構築するためのガイドライン
私のコアアプリケーションは、アプリケーションが機能するために必要なすべてのデータベース呼び出しをカプセル化するアセンブリ/レイヤーでコードを呼び出すと思われます。このレイヤーは、実際のDBコールを行うために、(configに基づいて)DBMS固有のレイヤーを呼び出します。誰かがこれの明確な例を私に指摘することはできますか?
ありがとうございます!
は、以下の説明を追加しました:
私の考えは、私は、例えば複数のアセンブリを持っているということでしたMyAppを、MyApp.Database、MyApp.Database.SQLServer、MyApp.Database.Oracleなど
MyAppには次のように電話をかけるでしょう。
...のように見えた...DataSet ds = MyApp.Database.GetSomeData();
public DataSet MyApp.Database.GetSomeData()
{
return GetDataFromDBMS();
}
GetSomeDataは一般的な呼び出しです。つまり、何かを行うにはMyAppに「GetSomeData()」が必要です。データがどこから来たかは気にしません。
次に、GetDataFromDBMSは、構成ファイルを介して、MyApp.Database.SQLServer.GetTheData()またはMyApp.Database.Oracle.GetTheData()のいずれかを呼び出します。これらのメソッドは、各DBMSからデータを取得/処理するために必要な処理を実行できます。
私はアプリケーションで開発したいと思っています**実際には**データベースレイヤーを交換して、このタイプの機能性は価値があります。悲しいことに、これまでのところ私のキャリアの中では決してなかった。 – BenCr
コメントのための@BenCr +1;このようなことについて多くの時間を費やしている*特にその中のほとんどすべてを行うフレームワークが非常に多い初心者/アマチュア開発者だとわかります。 –
@BenCr - Andrew Barberはここに隠れた議題を持っています。私たちは意見の不一致があり、私は彼が上記の彼のコメントに例示されている "遊び場の戦術"を非難したと思いませんか?彼のコメントを削除する習慣があるので、私はここでそれを引用します: "...私は、通常、このようなことを考えるのに多くの時間を費やしている初心者/アマチュア開発者だと感じています... " – jqwha