0

Web アプリケーションの構成タイプ (展開/開発) を検討して、Web アプリケーションの多くのモジュールの機能をライブ動作とテスト動作の間で切り替えたいと考えています。

たとえば、支払いサービスを提供するモジュールがいくつかあり、ライブとサンドボックスの間で API 構成を切り替える必要があります。webapplications 構成タイプに基づいて決定したいと思います。たとえば、次のようなメソッドを提供します。

public boolean isRuntimeConfigurationTypeDeployment() {
        return getConfigurationType().equals(RuntimeConfigurationType.DEPLOYMENT);
    }

これは、任意のウィケット ページから呼び出すことができます。しかし、動作を切り替える責任を wicket コンポーネント自体に任せる代わりに、これらの決定を集中管理する方がよいでしょう。意思決定はさまざまな場所で行う必要があるため、このアーキテクチャを設計するためのベスト プラクティスは何でしょうか。

もう 1 つの実用的な例: 管理フロントエンド内のフルフィルメント センターに注文を手動でコミットするボタン

public void onClick(AjaxRequestTarget target) {
                if(getShopAdminApplication().isRuntimeConfigurationTypeDeployment())
                    Export.fullfillment().send();
                else {
                    ExportMock.fullfillment().send();
                }
            }
4

2 に答える 2

1

主にサービスを切り替える場合は、Google Guice (または他の依存性注入フレームワーク) を使用してこれらのサービスを提供し、Application.init() の現在のランタイム モードに応じてモジュールをロードするための中心点を 1 つ持つことができます。こうすれば、コードにボイラープレートが散らばることもなく、このボイラープレートを忘れることもありません...

于 2012-06-06T08:25:59.797 に答える
1

ランタイム モード (dev、prod、uat など) を提供する単一のサービスを使用します。モードに応じて異なる種類の ioc を実行する別のサービス (Spring 構成)。コンポーネントごとにモードをチェックすることは避けます。ioc は起動時に実行する必要があり、すべてのコンポーネントは、prod か test かに関係なく、まったく同じように動作するはずです。テストのためにいくつかのコンポーネントの実装を置き換えてみてください。

于 2012-06-05T14:54:11.560 に答える