2016-06-25 5 views
0

私は設計に関する質問があります。私はスクリーンショットの下にアプリケーションを構築しています。私はcesar shift、vigenereなどの複数のアルゴリズムを使って暗号化/復号化に使用します。1つのビューで複数のモデルを扱うOS Xアプリケーション

アルゴリズムドロップダウンに表示されているように、シーザーシフトが選択されているので、矢印をクリックするとクラスモデル特定のアルゴリズムでは、すべてMVCパターンで処理され、すべてのIboutletsおよびボタンアクションはWindow View Controllerに配線されます。

私はこのことをOOPのやり方では少し分かりません。私は、ViewControllerのすべてのモデルのプロパティを持つことができ、選択に基づいてモデルのケースシナリオを持っているが、私はそれがエレガントではないと思う。

他のモデル用のビューコントローラを追加することは賢明でしょうか、あまりにも多くの問題を抱えていますか?私の考えでは、変更の唯一の項目は暗号化アルゴリズムモデルなので、別のビューコントローラを用意する必要はありません。前もって感謝します!

Cipher App

答えて

1

追加ViewControllersでの必要はありません。 ViewControllerはビューに関連しており、1対1の関係になっています。 ViewControllerはいくつかのモデルを扱うことができ、大丈夫です。

さらなるアドバイスとして、Factoryパターンをチェックして、暗号化アルゴリズム(および関連するモデル)を作成することをお勧めします。

+0

これは私の心の中で私が考えているものです。それをうまく説明する方法が分かりませんでした。私はパターンブックを掘り下げる必要があると思う。工場のパターンは私の問題には理にかなっています。ありがとう! – kodaman

関連する問題