誰かがこれをどのように設計すべきかを共有できますか:
を使用して構築されたデータモデルがあるとしEntries
ます。
基本的に、私は 1 つの抽象クラスEntry
(またはインターフェイスIEntry
- この場合はそれほど重要ではありません) を持ち、このクラスのいくつかの実装を持っています - MovieEntry
, SoundEntry
, FoodEntry
, 何でも...
これらはそれぞれ、いくつかのデータ (URL、説明、カロリー数など) のラッパーであり、このデータは対応する各クラスにグループ化されます。
ここで、エントリのデータを画面に表示したい場合(たとえば、映画のポスターや の注釈などMovieEntry
)、どのように設計すればよいでしょうか?
明らかに、私は別のインターフェース/抽象クラスを提供してそれを呼び出しDrawableEntry
(そして継承しSprite
ます)DrawableMovieEntry
、次のような一連のクラスを構築DrawableSoundEntry
できます。
class DrawableMovieEntry extends DrawableEntry { // which also extends 'Sprite'
private movieEntry:MovieEntry;
public override function draw(backend:*) {
// Draw everything using the 'movieEntry' reference
// stored.
};
しかし、これは小さなアプリケーションにとってはやり過ぎのようです。
もう 1 つの方法は、MovieEntry
, SoundEntry
, ... スプライトを拡張し、描画の実装自体を提供することですが、データがその視覚化ルーチンと強く結合されるため、これは明らかに悪いことです。
それで - これはどのように行うべきですか?MVC アプローチには、この場合に提供できるものがあるのではないでしょうか?