引子:mvc的好处
马克-to-win:上节中的第二部分是讲从jsp表单提交数据插入数据库的事情。这件事情,往极端里 来讲,用一个jsp也可以干成。可以想象到,这个jsp必然巨大,代码非常难维护。即使需求上有任何一点点变动,也需要重新打开这个巨大的jsp,进行改 动,无论是界面上,还是数据库方面。在公司当中,这还涉及不同的工作人员。如果是界面上需要改动,这涉及美工人员。程序方面需要改动,这涉及软件工程师。 当项目越做越大,代码量越来越大,维护起来越来越困难,公司的人员流动和需求的经常变动,造成了代码维护起来更加困难。马克-to-win:笔者在软件公司任技术负责人时,就 有过亲身体会。一个新需求过来,一个新人需要先读懂老人的代码,在这基础上再改动相关的部分。mvc模式开发就起到了相当多的好作用。比如如果只是业务逻 辑更改了,你只需要读懂model部分的代码,更不需要打开controller部分的文件。想象一下,你的前任,这个项目是用一个jsp写的!!继任跳 楼的心都有。
mvc的不足
马克-to-win:现在问题就来了。不断进取的软件界马上就意识到,随着项目更大,mvc模式都已显不够,分工还需更细。 比如把model部分再细化一下,分成好几层,1)和数据源配置有关的叫数据源层(Data Source),在我下面的例子中就是DatabaseConn.java。2)和数据库打交道的叫Dao层( Data Access Object)。3)处理业务逻辑的就是服务层(Service)。分工一细,分层以后,每层的代码量就很小。当需求改变后,开发者所需阅读的代码量就会 小得 多。马克-to-win:比如如果新的需求是把数据库的登录名改一下,如果你的项目只有一个jsp,这个jsp有一万行代码,你起码要读相关的几十行代码不止,还担心会出错! 而分层以后,比如如果是数据库连接的问题,你只需要检查数据源层就可以了,其他的文件都没必要打开。这样几乎没有什么代码的阅读量,出错的风险也较低!
更多请看:https://blog.csdn.net/qq_44594371/article/details/103181752