我正在生成竞争树的插件。使用抽象类和方法组织文件的问题
所以,我主要有2种类型的比赛,SingleElimination
,并Playoff
里面SingleElimination,我有2例,SingleEliminationWithPreliminaryRound
,SingleEliminationWithoutPreliminaryRound
,
对于每场比赛的类型,我有2种球员,团队和竞争对手,基本上,团队是竞争对手的集合。
所以,我试图组织我的代码是这样的:
-- 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
中都是重复的。
所以,我觉得这是这种架构的限制,但不知道应该如何让它发展。
任何想法将不胜感激!