0

私のサイコロ シミュレーターは、いくつかの点で私を悩ませます。すべてオブジェクト指向設計に関係しています。

  • ユーザーが選択したさいころテストは、ユーザー インターフェイスに表示されるものと、テスト データを表すオブジェクトの一部を形成するものに影響します。
  • テスト パラメータのユーザーの選択は、ユーザー インターフェイスに表示されるものと、テスト データを表すオブジェクトの一部を形成するものに影響します。

つまり、GUI は可変であり、データ モデルは可変です。どちらも、ユーザーからの入力で受け取った潜在的な条件の数に依存します。バリエーションを処理するために私が使用してきた従来の方法は、スイッチと if ステートメントですが、これらは紛らわしく、かさばり、入れ子になっています。

GUI とモデルのバリエーションを可能にするオブジェクト指向の設計パラダイムはありますか?

4

2 に答える 2

1

ほとんどの問題と同様に、解決策は抽象化レイヤーを追加することです:)

MVC、MVP、MVVM*をご覧ください。これらは、UIとデータの間で責任を分離するように設計されたパターンです。実行時にモデル(データ)とUI(ビュー)を切り替えたいため、任意のビューが任意の(または特定のサブセットの)データにバインドできるように、追加の抽象化、コントラクトを作成する必要がある場合があります。

*このリンクは間違いなく唯一のソースではありませんが、Web(そしてもちろんStack Overflow)を検索すると、これらのパターンを理解するのに役立ちます。

于 2011-02-19T08:30:18.340 に答える
0

最も人気のある3つ:

Webの場合はMVCデスクトップの場合はMVPMMVVM

私は以前にこれに投稿し、図を提供しました:http: //carnotaurus.tumblr.com/post/2748019388/visual-pattern-links

また、テスト目的を支援するために、DALを2つに分割することもお勧めします

于 2011-02-19T08:40:43.170 に答える