私はコンテストツリーを生成するプラグインで作業しています。抽象クラスとメソッドでファイルを整理する問題
だから、私は、主に2競技、SingleElimination
の種類、およびPlayoff
インサイドSingleEliminationが、私は、私は選手の2種類を2例、SingleEliminationWithPreliminaryRound
、SingleEliminationWithoutPreliminaryRound
、各競技の種類の
を持っているを持っていますチーム、競合他社、基本的にチームは競合他社の集まりです。
だから、私は私のコードをこのように整理してみました:
-- TreeGen : (Abstract) All the common code, and the entry point
---- PlayOffTreeGen (Abstract extends TreeGen)
------ PlayOffCompetitorTreeGen (extends PlayOffTreeGen)
------ PlayOffTeamTreeGen (extends PlayOffTreeGen)
---- SingleEliminationTreeGen (Abstract extends TreeGen)
------ SingleEliminationTeamTreeGen (extends SingleEliminationTreeGen)
------ SingleEliminationCompetitorTreeGen (extends SingleEliminationTreeGen)
ので、この組織は素晴らしい作品、私は条件文の多くを回避し、全体に低複雑性を得ることが、今、私はその方法を持っています例えばSingleEliminationCompetitorTreeGen
とPlayOffCompetitorTreeGen
の両方に複製されます。
私はそれがこの種のアーキテクチャの限界だと思っていますが、どのように進化させるべきか分かりません。
ご了承ください。