プログラムを拡張可能にしようとしています。これは、複数の種類のゲームをプレイする一般的なカード ゲーム用です。
私は汎用サーバーを持っています。これを class と呼びましょうGenericServer。、、、などCardsのクラスをインポートします。PlayersContainers
のサブクラスであるゲーム固有のサーバー クラスもあります。GenericServerこれを と呼びましょうMagicServer。
私がやりたいことは、MagicServerによってインポートされたクラスのゲーム固有のバージョンをロードすることGenericServerです。
class GenericServer(object):
# imports Cards(object), Players(object), Containers(object)
class MagicServer(GenericServer):
# imports MagicCards(Cards), MagicPlayers(Players), MagicContainers(Containers)
計画では、複数のゲーム固有のサーバーをすべて のサブクラスとして持つだけでなく、GenericServer独自のバージョンのCards、などを使用することも考えています。サーバーを個別に分割することも検討しましたが、同じコードの多くを共有しているため、サブクラス化したいと考えています。それらから。PlayersContainersGenericServer
これを解決する方法について何か提案はありますか?