That way I want to stay

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            55 Posts :: 1 Stories :: 41 Comments :: 0 Trackbacks

          具體pdf的下載地址:
          分離數(shù)據(jù)庫(kù)訪問(wèn),UI和域邏輯

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

          請(qǐng)從鏈接中下載,下面的內(nèi)容只是摘要。

          處理三種類別的代碼都混在了一起:

          ?? 1.UI: JDialog, JTextField, 響應(yīng)用戶事件的代碼。

          ?? 2.數(shù)據(jù)庫(kù)訪問(wèn): Connection, PreparedStatement, SQL statements, ResultSet 等等。

          ?? 3.域邏輯: 參會(huì)者的默認(rèn)id,參會(huì)者的名字必填,所屬地區(qū)的限制等等。域邏輯又稱為“域模型”或者“業(yè)務(wù)邏輯”。

          這三個(gè)不同類別的代碼混在一起,會(huì)造成下面的問(wèn)題:
          1.代碼很復(fù)雜。
          2.代碼很難重用。如果我們想創(chuàng)建一個(gè)EditParticipantDialog,讓用戶更改參會(huì)者的信息,我們就想重用部分域邏輯(比如,地區(qū)的限制)。但實(shí)現(xiàn)這部分域邏輯的代碼跟AddParticipantDialog混在了一起,根本不能重用。如果是在一個(gè)web系統(tǒng)中,就更難重用了。
          3.代碼很難測(cè)試。每次要測(cè)這樣的一段代碼,我們都要建一個(gè)數(shù)據(jù)庫(kù),還要通過(guò)一個(gè)用戶操作界面來(lái)測(cè)試。
          ???? 4.如果數(shù)據(jù)庫(kù)表結(jié)構(gòu)更改了,AddParticipantDialog這個(gè)類,還有其他的很多地方都要跟著更改。
          5.它導(dǎo)致我們一直在考慮一些低層的太細(xì)節(jié)的概念,比如數(shù)據(jù)庫(kù)字段,表的記錄之類的,而不是類,對(duì)象,方法和屬性這一類的概念。或者說(shuō)白了一點(diǎn),一直在考慮怎么往數(shù)據(jù)庫(kù)里面裝數(shù)據(jù),而沒有了面向?qū)ο蟮母拍睿瑳]有了建立業(yè)務(wù)模型的思維。

          因此,我們應(yīng)該將這三種類別的代碼分離開(UI,數(shù)據(jù)庫(kù)訪問(wèn),域邏輯)。????????

          posted on 2006-12-01 16:16 Wingel 閱讀(1129) 評(píng)論(0)  編輯  收藏 所屬分類: 敏捷開發(fā)
          主站蜘蛛池模板: 米脂县| 绥滨县| 天等县| 枣庄市| 天气| 怀宁县| 西平县| 洮南市| 承德市| 比如县| 内乡县| 宁海县| 卢湾区| 旬阳县| 海阳市| 新宾| 理塘县| 嘉兴市| 信宜市| 垣曲县| 名山县| 芷江| 原平市| 额济纳旗| 台江县| 丘北县| 昌吉市| 尚义县| 乌兰察布市| 马鞍山市| 连云港市| 尉氏县| 邓州市| 湘乡市| 祁东县| 建阳市| 库尔勒市| 高清| 乐至县| 和龙市| 东丰县|