我正在开发我的第一个多层MVC应用程序。纸牌游戏。
我有三个图层,如下
演讲| (MVC) | -> | BLL |——> | 木豆(回购/工作单元模式)|
DAL大多是通用的,我的BLL几乎为每个表映射1-1。
现在我有"特殊"类,只处理卡牌游戏逻辑(例如检查手是否有效,检查是否有人赢了)。这些类不需要与数据库通信。附加职业:card, player.
对我来说,把这些只包含逻辑而不需要与DAL通信的类放在哪里最好?额外的项目?也许只是调整一下我的命名习惯?
任何输入是非常感谢!
这些特殊类听起来好像它们将与主要对象(card, player等)一起构成应用程序的核心,因此它们属于业务逻辑层。
如果你的一些类与其他层有连接,而另一些没有,这无关紧要(也不应该)。然而,您可能想要看看Bob大叔的清晰架构或Alistair Cockburn的六边形架构(又名"端口和适配器"),以获得如何构建领域模型、用例和各个层的灵感。请注意,这些方法为插件带来了额外的灵活性,例如,不同的持久机制。这样做的代价是(有些人可能会说只是一点点)复杂性的增加。