ハードコーディングされた具体的な派生クラスとインスタンスを持つ ADT 基本クラスと、ファイル入力からインスタンスが構築される包括的なクラスのどちらが優れた設計ですか?
例:
class ADTSpell {
ADTSpell(std::string name, int min_damage, int max_damage);
virtual ~ADTSpell()=0;
//...
};
class Fire : public ADTSpell {
Fire() : ADTSpell("Fire", 14, 15) { }
//...
};
/* Other concrete derived classes */
- また -
class Spell {
Spell(std::string name, int min_damage, int max_damage, /*...*/ )
//...
};
File: Spells.txt
Fire 14 15
Heal -3 -5
Ice 5 8