Datalankは、データにアクセスするための可能な限り軽い抽象レイヤーです。それはとても軽いので完全ではありません。それはormではありません。それはすべてのすべてのソリューションではありません。データリンクではありません。シングルのシンプルクエリ結果セットをフェッチしてフォワードのみを繰り返す特異な方法を提供します。もっと欲しい?他の場所を見てください。事前に記載されたインターフェースでいくつかのオブジェクトを使用するポイントは、プロジェクトの寿命に沿ってどこかにある別のデータベースに切り替える作業の一部を避けることですが、すべてではありません。
DataLankProtocol.pas 、 TDataConnectionとTQueryResultおよびオブジェクトのインターフェイスを定義しますが、使用することは想定されていません。 (おそらく、構文エラーなしでコンパイルするのを見るためにプロジェクトにそれを含めることを除いて。)
プロジェクトには、このようなコードを含むDataLank.pasユニットを含め、選択の実装にオブジェクトにパッチを当てます。
unit DataLink;
interface
uses SomeDBData;
type
TDataConnection = TSomeDBConnection;
TQueryResult = TSomeDBCommand;
implementation
end.
これにより、アプリケーション全体で初期化コードとTQueryResultでTDataConnectionを使用でき、プロジェクトの寿命の後半で別のデータベース溶液に変更できます。
それはまったくデータではありません。ポイントは、可能な限り薄いデータ層を持つことです。そのため、 MW:Thesaurus/Thinで何かを選択しました。
十分に記入されていません:データベース上のすべての操作が限られた抽象化で利用できるわけではありません。通常の操作はTqueryResultオブジェクトを使用できますが、結果を異なる方法で反復するか、特定のデータベースインターフェイスまたはその他のツールに通知することで自動バックアップを開始する必要がありました。
品質、程度、または範囲が不十分:それは、すべての人やプロジェクトに適していません。主にデータベースからのデータを簡単に使用し、他の手段に転用してデータ上の高度な作業を実行するプロジェクトでDatalankを使用するように選択します。
スプリングやカールなしでまっすぐでぐったりとぶら下がっています。TQueryResultを使用してデータベースからデータを取得して使用できます。それはあなたのために余分な仕事をしません。それはormではありません。これは、プロジェクトの寿命の後半で別のデータベースに切り替えるために必要な作業を非難するための、きれいな単純な不完全な抽象化レイヤーにすぎませんが、特にその努力を排除するためではありません。