1

まず第一に、私はあなたに多くの詳細を提供することができず、私の質問は一般的に聞こえるかもしれないことを申し訳なく思っています.

私は小さなプロジェクトに取り組んでいますが、プロジェクトの要件は少し複雑です。データ ソースを切り替え可能にする必要があります。そのため、将来データベースをデータ ソースとして使用している場合、Web サービスまたはファイルを使用できる可能性があります。

アプリケーションに大きな変更を加えずにデータ ソースを切り替えることができるように、モデルを実装する方法についての手がかりがありません。

この状況に対処するために使用できるデザイン パターンまたはデザイン プラクティスはありますか?

Zend Framework を使用する予定です。

事前にご協力いただきありがとうございます。

4

5 に答える 5

1

GetModel1 や GetModel2 などのメソッドを宣言するインターフェイスを使用します。データベースから取得するインターフェイスの実装を作成します。サービス メソッドに切り替えると、そのインターフェイスの新しい実装を作成できます。

これを行うことで、他のコードを書き直す必要がなくなります。外部から見ると、データベース実装の GetModel1 はサービス バージョンの GetModel1 と同じように機能するため、呼び出しを行うと、いくつかの魔法が発生します。インターフェイスの反対側に接続すると、Model1 が返されます。

ある時点で実行時に実装を切り替える必要がある場合 (たとえば、オフラインのときに DB から取得し、利用可能な場合はサービスから取得する)、依存性注入と呼ばれる設計パターンに似たものを作成できます。

于 2013-07-31T15:50:56.103 に答える