(原创翻译)敏捷开发的必要技巧7--分离数据库访问,UI和域逻辑

(原创翻译)敏捷开发的必要技巧7--分离数据库访问,UI和域逻辑

具体pdf的下载地址:
分离数据库访问,UI和域逻辑

http://wingel.javaeye.com/topics/download/ce15b67a-1df7-4a75-8f03-1a505aca35d8

请从链接中下载,下面的内容只是摘要。

处理三种类别的代码都混在了一起:

   1.UI: JDialog, JTextField, 响应用户事件的代码。

   2.数据库访问: Connection, PreparedStatement, SQL statements, ResultSet 等等。

   3.域逻辑: 参会者的默认id,参会者的名字必填,所属地区的限制等等。域逻辑又称为“域模型”或者“业务逻辑”。

这三个不同类别的代码混在一起,会造成下面的问题:
1.代码很复杂。
2.代码很难重用。如果我们想创建一个EditParticipantDialog,让用户更改参会者的信息,我们就想重用部分域逻辑(比如,地区的限制)。但实现这部分域逻辑的代码跟AddParticipantDialog混在了一起,根本不能重用。如果是在一个web系统中,就更难重用了。
3.代码很难测试。每次要测这样的一段代码,我们都要建一个数据库,还要通过一个用户操作界面来测试。
     4.如果数据库表结构更改了,AddParticipantDialog这个类,还有其他的很多地方都要跟着更改。
5.它导致我们一直在考虑一些低层的太细节的概念,比如数据库字段,表的记录之类的,而不是类,对象,方法和属性这一类的概念。或者说白了一点,一直在考虑怎么往数据库里面装数据,而没有了面向对象的概念,没有了建立业务模型的思维。

因此,我们应该将这三种类别的代码分离开(UI,数据库访问,域逻辑)。        

你可能感兴趣的:((原创翻译)敏捷开发的必要技巧7--分离数据库访问,UI和域逻辑)