我正在生成競爭樹的插件。使用抽象類和方法組織文件的問題
所以,我主要有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
中都是重複的。
所以,我覺得這是這種架構的限制,但不知道應該如何讓它發展。
任何想法將不勝感激!