【发布时间】:2014-07-01 09:54:12
【问题描述】:
我正在寻找一些关于我应该如何结合 Laravel 为我的应用程序设计逻辑的建议。到目前为止,我已经创建了基本的基础设施;但是,我目前正在制作一个联赛表并继续前进,我想确保它足够灵活以适应未来的变化,并且我还想更多地利用 Laravel 的功能,而不仅仅是基础。
到目前为止,我有一个“联赛”类,其中包含一个“id、标题、规则、状态、created_at、updated_at”和一个列出当前开放的联赛并允许用户注册的“LeagueController”对于他们每个人。
每次用户注册联赛时,都会创建一个“LeagueEntry”,其中包含“id、league_id、wins、loss、draws”,即联赛表中显示的统计数据。到目前为止就足够了:)
在表中,用户可以选择挑战联盟中的任何其他玩家。这就是我的困境所在。我可以简单地创建一个名为“Challenge”的新单独对象并使用“ChallengeController”来管理两个玩家之间存在的积极挑战,我正在寻找一种更好的方法来实现它。
引起这种担忧的另一个原因是我将在稍后实现一个“锦标赛”类,该类也将使用“挑战”类(每次玩家在淘汰赛中挑战另一个玩家时) .
这样做的一种方法是创建一个抽象类“Challenge”,并拥有一个扩展此抽象的“LeagueChallenge”和“TournamentChallenge”;但是,有人告诉我,这在 Laravel 中是不可能的。如果不是这种情况,请纠正我。在这种情况下,最好使用存储库设计模式吗?
如您所见,我希望创建具有尽可能多的灵活性的“挑战”类,并且我正在寻找我可能忽略的 Laravel 的任何功能,以及我尚未发现的任何基本设计原则想到。
非常感谢任何有关如何更好地解决此问题的想法。
【问题讨论】:
标签: design-patterns laravel laravel-4 business-logic