本文主要是介绍敏捷开发的必要技巧7:将数据库访问,UI和域逻辑分离,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
(这里面的域逻辑,原文是叫Domain logic,我想用业务逻辑层来说明的,可是后面又有这句话,“Domain logic is also called "domain model" or"business logic".”,即“域逻辑又称为域模型或者业务逻辑”,所以我们还是老老实实叫它域逻辑层吧)。
中间略过。。。。。。。
这段代码看起来还正常吧?但是这里面将处理三种类别的代码都混在了一起:
1.UI: JDialog, JTextField, 响应用户事件的代码。
2.数据库访问: Connection, PreparedStatement, SQL statements, ResultSet 等等。
3.域逻辑: 参会者的默认id,参会者的名字必填,所属地区的限制等等。域逻辑又称为“域模型”或者“业务逻辑”。
这三个不同类别的代码混在一起,会造成下面的问题:
1.代码很复杂。
2.代码很难重用。如果我们想创建一个EditParticipantDialog,让用户更改参会者的信息,我们就想重用部分域逻辑(比如,地区的限制)。但实现这部分域逻辑的代码跟AddParticipantDialog混在了一起,根本不能重用。如果是在一个web系统中,就更难重用了。
3.代码很难测试。每次要测这样的一段代码,我们都要建一个数据库,还要通过一个用户操作界面来测试。
4.如果数据库表结构更改了,AddParticipantDialog这个类,还有其他的很多地方都要跟着更改。
5.它导致我们一直在考虑一些低层的太细节的概念,比如数据库字段,表的记录之类的,而不是类,对象,方法和属性这一类的概念。或者说白了一点,一直在考虑怎么往数据库里面装数据,而没有了面向对象的概念,没有了建立业务模型的思维。
因此,我们应该将这三种类别的代码分离开(UI,数据库访问,域逻辑)。
这篇关于敏捷开发的必要技巧7:将数据库访问,UI和域逻辑分离的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!