我参与过一个项目,该项目实现了具有以下设计的三层架构:
我知道三层方法可以帮助提高安全性,因为如果表示层受到损害,仍然无法访问数据。尽管这是事实,但这种方法有点过于复杂,特别是因为我被迫在前两层中为同一对象编写两个模型。
所以我的问题是:这是一个糟糕的三层架构实现吗?如果是的话,如何改进?仅使用可访问数据库的 MVC 实现有哪些缺点(如果有)?您的 Web 应用程序使用什么方法?
感谢您的帮助!
在我看来,你的三层与视图、控制器模型相同。如果你的php主要是调用你的#2层,那么我认为它本身不需要是MVC,除非你有一个非常复杂的表示层,它本身应该组织成MVC,例如,如果你有复杂的导航或用户身份验证逻辑。
我不确定我是否理解这种担忧:“特别是因为我被迫在前两层中为同一对象编写两个模型。”这似乎是因为您在 UI 和后端使用两种不同的编程语言。我猜测 C#“数据访问层”包含一个完整的对象模型,然后您必须在前端复制该模型。
问题似乎是你有两个相互镜像的中间层,因为你使用的是两种语言,而不是你使用的是 n 层架构