2011-12-20 9 views
1

私はコンソールアプリケーションを持っています。その中心的なプロセスは、DBテーブルから次の行を取得し、フィールド値に基づいてすべて同じタイプのオブジェクトを返すコードのいくつかのビットからなる。ほとんどMVCのWebサイトでのルーティングの設定のようになど...広範なMVCアーキテクチャ(C#)を使用した非Webアプリケーションでのプログラムフローの制御

if exhibitType == "Summary" then AddSummaryExhibit 
elseif exhibitType == "Timeline" then AddTimelineExhibit 

:私はスイッチを持っているか、(擬似コード)のような何かをするif文のタイプの配置、があります。このプログラムは、モデルからデータを取得し、.cshtmlカミソリビューに基づいてHTMLをレンダリングし、それをHTMLドキュメントコンテナに属する 'セクション'のコレクションに追加する、およそのMVCタイプの構造に従います。

理想的には、プロジェクトに名前xの新しいメソッドを追加し、この手動で維持された条件セットを持たずに、xをdbテーブルの新しい値として追加することができれば理想的です。私は多分代議員やsomesuchがここに当てはまるかもしれないと思っていたが、それは単なる考えである。ベストプラクティスについてのヒントは高く評価されます。私はあなたが探していると信じて

おかげ

答えて

0

はすでに長いswitch文の話のスレッドで、ここで回答されている。実際にはHow to avoid long switch ..need help refactoring

、次の4つのパターンのギャングを探しています。心に浮かぶパターンは、戦略パターン、状態パターン、責任パターンの連鎖です。

これらのパターンは、要件にどのように作用するのかを考えるのは難しいかもしれませんが、モジュラリティの必要性を特定し、スイッチのステートメントからそれを取得していないということで、

+0

ありがとうございます。私はそれらを別々の方法に移動し、それらのパターンを調べます。乾杯 – Glinkot

関連する問題