我一直试图在家里重建个人 Web 应用程序时遵守对 MVC 的严格解释,但我遇到了一些问题。
该应用程序是一个财务跟踪应用程序。我被困在第一页,这只是本月银行账户交易的列表。交易清单是我的模型。在这一点上,控制器和视图很容易想象。
但是,我在页面顶部也有两个按钮。它们是箭头,一个对应上个月,另一个对应下个月的交易清单。如果上个月/下个月没有交易,我不希望启用这些按钮,因此我需要与数据库交谈以确定每个按钮是否应该实际链接到某个地方。
从我读过的大部分内容来看,尽可能将数据库访问封装在模型中,在控制器和视图中几乎没有数据库访问。
然而,这些按钮本质上需要询问数据库,“下个月/上个月是否有任何交易?” 答案将确定他们的链接是否被禁用,以及将用户发送到哪里。
严格来说,将它们的逻辑放入事务列表模型似乎并不合适,因为事务是否存在于请求范围之外,超出了事务列表模型的关注范围。
我想我还可以制作另一个模型,该模型将对应于存在交易的所有年月组合。然后我可以将此模型和事务列表传递给正确的视图。
或者我应该偏离模型外的无数据库访问范式,而只是将一些快速的数据库查询扔到视图中(因为结果本质上是一个 UI 问题,使导航更容易)?
对于这个概念问题,你们怎么看?
顺便说一句,我没有使用任何框架。这是一个宠物项目,旨在让我更熟悉 MVC 模式的具体细节。