Skip to main content

Posts

Showing posts from October, 2024

Web应用程序的MVC架构和三层架构的区别

 今天我正式开始学习Go编程语言! 好几年前我就尝试学习Go的基础,但是我最终没有坚持把基础学完,我现在相当于完全忘记了Go的语法的状态了。 管他的,直接开始学一个综合的Web项目! 从今天开始,我学习孔令飞写的这个课程 -- 《 Go 语言项目开发实战 》。 在第一篇课程文章中,讲师提到了2个常见的软件架构模式,分别是: 前后端分离架构 MVC架构 由于我对于软件开发的知识可以说是菜鸟,从上下文来看,前后端分离似乎意味着"微服务架构",微服务架构中肯定还有许多细分层面的架构模式,比如Saga、DDD等。 而MVC,从上下文来看意味着"单体架构"的其中一种应用程序架构模式。 在这个第一篇教程文章中,与MVC一起提到了一个叫做"三层架构"的软件开发架构,我引用一下原文: 除此之外,还有一种跟 MVC 比较相似的软件开发架构叫三层架构,它包括 UI 层、BLL 层和 DAL 层。其中,UI 层表示用户界面,BLL 层表示业务逻辑,DAL 层表示数据访问。在实际开发中很多人将 MVC 当成三层架构在用,比如说,很多人喜欢把软件的业务逻辑放在 Controller 层里,将数据库访问操作的代码放在 Model 层里,软件最终的代码放在 View 层里,就这样硬生生将 MVC 架构变成了伪三层架构。 我是第一次听说这个"三层架构",光是看这段话我不理解这个三层架构和MVC有什么区别,于是让我问问AI吧。 展开了解下"三层架构" 我的提问: """ MVC 的全名是 Model View Controller,它是一种架构模式,分为 Model、View、Controller 三层,每一层的功能如下:View(视图):提供给用户的操作界面,用来处理数据的显示。Controller(控制器):根据用户从 View 层输入的指令,选取 Model 层中的数据,然后对其进行相应的操作,产生最终结果。Model(模型):应用程序中用于处理数据逻辑的部分。 MVC 架构的好处是通过控制器层将视图层和模型层分离之后,当更改视图层代码后时,我们就不需要重新编译控制器层和模型层的代码了。同样,如果业务流程发生改变也只需要变更模型层的代码就可以。在实际开发中为了更好的...