2011-10-25 2 views
3

お客様固有のコードを実装する際に、どのように整理しますか?アプリケーション内の1人または少数の顧客に特定のコードをどのように整理しますか?

  1. if-statementをコードに直接書き込んでいますか? (if(customer == 20)then blah blah)
  2. あなたはその顧客のためにすべてのコードを置く特別なdllを持っていますか?
  3. 一種の「ユーザー出口」、つまり別のDLLで過負荷になる可能性のある名前付き関数をプログラムしていますか?
  4. または、ライブラリ/フレームワークを使用していますか?
  5. それとも良い方法ですか?
+0

可能な限りすべてをモジュール化して、カスタムコードが必要なときに追加のDLLをドロップするだけです。 –

答えて

1

if-statementソリューションには、新しい顧客ごとにコードを変更する必要があるかもしれないという欠陥があります。より良い方法は、インタフェース内で変化させたい振る舞いをカプセル化し、既存のコードがこのインタフェースのインスタンスにタスクを委譲させることです。デザインは、任意の数の異なる動作の準備ができています。

コードをフレームワークとして設計し、顧客固有のコードに加えてフレームワークを使用する顧客ごとにアプリケーションプロジェクトを作成します。このフレームワークはバージョン管理され、(内部的に)リリースされ、顧客アプリケーションは後のリリースのフレームワークの影響を受けないようにすることができます。

「フレキシブルで信頼できるソフトウェア:パターンとアジャイル開発を使用する」という本をお勧めします。これはまさにこの質問の周りに構築されています。

関連する問題