2009-07-30 16 views
0

私は、3つのウィジェット自動化工場があるとします:FactoryA、FactoryB、FactoryC。私は、これらの工場の自動化(モーションコントロール、機械的な位置決めなど)を容易にする.Netアプリケーションを開発し、維持することになります。モジュールが大きく異なるモジュールデザイン

このアプリケーションは、3つのファクトリで同じインターフェイスを持つ必要がありますが、これらのファクトリの動作と物理レイアウトは大きく異なります。それらは一般的に同じプログラムフローに従います:ステップ1、ステップ2、ステップ3、ステップ4。しかし、各工場のこれらの手順は、共通点と同じくらい異なります。だから論理的に私は物事をより多くのステップに分割しなければならない。私は、何も壊すことなく危険を冒すことなく、各工場を更新したいと考えています。各ファクトリにはさまざまなデータベース要件があり、常に変化するカスタムレコードを作成する必要があります。

したがって、どのようにコア機能を高いレベルでレイアウトする必要がありますか?

FactoryA: Input->ProcessA.dll->Output 
FactoryB: Input->ProcessB.dll->Output 
FactoryC: ... 

この方法は、明白な理由のためによく維持されていません。

はCurrenly私はこのような何かを持っています。しかし、少なくとも異なるステップはすべて高度にカスタマイズされています。

私は単一のプロセスDLLを持っていて、希望の出力を達成するために必要なステップを設定ファイルに保存する方が良いでしょうか?言い換えれば、各ファクトリが同じDLLから無作為に100個の500ステップ(方法が誇張されています)を使用する場合、各ファクトリに必要なシーケンスはどのように保存する必要がありますか?

この質問は非常に公開されています。このプログラムが十分あれば、おそらく1000の工場があり、いつか処理しなければなりません。私はそれをきちんとしたものにするために機能を追加したいが、基本的な操作の中断を危険にさらすことはできない。

あなたの考えは?

答えて

1

実際にもっと知ることなく、それは工場よりもビルダーのパターンがほしいと思うように聞こえます。

http://en.wikipedia.org/wiki/Builder_pattern

編集:おそらく、より良い答えはIVCのフレームワークの1つ(例えば、Spring.NET)を見て取り、それはあなたがあなたのオブジェクトを構築するために、それが簡単に作ってあげるかどうかを確認し(とようにすることですより保守性の高いコード)。

もちろん、フレームワークを使用しても構わないとします。

+0

これは私に(比較的新しいプログラマー)何かを構築するものです。ありがとうございました! – bufferz

関連する問題