GUI をプログラミングするとき (通常は Python と PyQt4 を使用)、コードをきちんと整理しようとしますが、よく同じ質問に直面します。
コードの非表示オブジェクト (データ) は、対応する可視ウィジェット (グラフィック表現) とどのように関連付けるべきですか?
たとえば、言語辞書のエントリのリストがあるとします。各エントリは、さまざまな属性と機能を持つ抽象データ オブジェクトです。各エントリは、ユーザーが操作できるウィジェットとしてもグラフィカルに表示されます。
それらを整理するには、次の 4 つの方法が考えられます。
- ウィジェット オブジェクトはデータ オブジェクトの子です。
- データ オブジェクトはウィジェット オブジェクトの子です。
- ウィジェット オブジェクトとデータ項目が 1 つのオブジェクトにマージされます (データはウィジェットの属性です)。
- ウィジェット オブジェクトとデータ オブジェクトは別々に存在し、後者は前者に供給されます (例: *args として)
現在、これに関して従来の合意があるかどうかはわかりませんし、これらの可能な取り決めが本当に違いを生むかどうかもわかりません.
ベストプラクティスは何ですか?