6

データレイヤーをビジネスロジックから、ビジネスロジックをGUIから分離したい。ウェブに飛び込んで、いくつかのリソースに出くわしましたが、それでも私の心を明確にすることはできません. パターンについて話す人もいれば、さまざまなフレームワークを指摘する人もいます。私の要件は次のとおりです。

  • rdbms からデータを操作する (主に mysql) CRUD 操作
  • ID 生成の処理 (オートインクリメントまたは提供されたデータ エンジンまたは生成されたパスカル コードを使用する必要があります)
  • テーブル関係は論理的 (参照整合性が使用されない) かどうか
  • データモデルからオブジェクト関係を生成する能力の必要性
  • データをビジネス オブジェクトに変換し、ビジネス ロジックを操作する必要がある
  • 既存の GUI コンポーネントまたはフリーウェアのコンポーネントを使用する必要があります

私が必要なのは:

  • 基本的なサンプルコード/アプリケーションレイアウト(units-classes-modules-directoriesなど)を使用したいくつかのガイドテクニック/提案... OOPの専門家ではないため、クラス階層を設計する必要があるときに混乱します
  • チュートリアル付きのシンプルなフレームワーク
  • またはあなた自身の毎日のコード/フレームワーク/アプローチでさえ
4

7 に答える 7

11

Delphi を使用しているため、必ず DataModules を確認してください。これは、データベース アクセス コンポーネントとロジックを配置する場所です。

クラスをプレーンな「ユニット」ファイルに入れます。

物事を実現するために、UI がこれら 2 つと対話するようにします。フォーム上でデータベース アクセス コンポーネントを直接使用できますが、これは「表示専用」モードとして実行し、データ モジュールを使用してデータの操作を行うのが最適です。(基本的なアプリのフォームですべてを行うことができますが、アプリをモジュール化したい場合は、アプリを分けておくのが賢明です)。

于 2009-05-08T14:55:51.827 に答える
3

個人的にはビジネスモデルにtiopfを使用しています。Tiopfはデータアクセス層を提供します。リポジトリからの最新のコードには、モデルを表示するためのMVCと同様のmodel-gui-mediatorフレームワークが含まれています。これにより、標準のデルファイコンポーネントを使用してデータを表示できます。

Tiopfには、多数のIDジェネレーター(GUID、32ビットおよび64ビット整数など)も含まれています。

tiopfに興味がある場合は、私の概要を確認することから始めることをお勧めします。次に、質問をニュースグループに送信します。

于 2009-05-10T03:31:15.977 に答える
3

tiOPFを見てください

于 2009-05-09T06:53:36.937 に答える
2

オープン ソースのInstantObjectsを試してみると、Delphi でのあらゆる種類のデータベース プログラミングに常にこれを使用したくなるでしょう。

IO では、そのインターフェイスでデータ構造全体を定義する必要があり、その後、必要なコードが生成されます。

やってみなよ。

ID 生成に関しては、MySQL を信頼して、自動インクリメント ID を生成します。コーディングに時間をかけないでください。

于 2009-05-08T14:37:15.427 に答える
2

私が使用し、非常にうまく機能する方法は、アプリケーションとは別の役割を担い、その役割を担っているかのようにプログラミングすることです。たとえば、データベースのバックエンドで作業しているときは、GUI について考えることさえしないでください。代わりに、データを操作するだけのクラスとメソッドを公開することを考えてください。後で使用する独自の SDK を作成すると、これのメンテナンスがはるかに簡単になることがわかります。

テストベース開発はあなたの味方です。DUnit について理解し、重要なコードを実行するための小さくて簡潔なテストを作成します。インターフェースや、コードでいっぱいの画面を見ても明らかでないものはすべて文書化してください。

于 2009-05-08T16:41:40.480 に答える
1

Model-View-Controller (これは Observer / Observable Pattern の拡張です) を見てみましょう。これは、「ビュー」(つまり UI) がデータの更新方法のみを認識し、更新されたデータに応答することを意味します。モデル (またはオブザーバブル) は、データを操作する方法を知っており、ビューに更新されたことを伝えます。つまり、データ プロバイダーを変更せずに UI を置き換えることができ、その逆も可能です。

Delphi にはこの例がたくさんあるので、Google で検索してください (ただし、Java / C# などにはそれほど多くはありません)。

于 2009-05-10T19:56:58.723 に答える