追隨Java
          簡單的事情重復做,就會產(chǎn)生累積效應!
          posts - 260,  comments - 338,  trackbacks - 0
                                        低劣的設計,會使你走向泥潭,難以自拔
           我進這個公司一年多一點了.剛進公司沒什么事做,所以經(jīng)理就讓做一個小系統(tǒng),為公司以后的需求作準備.
           為了快速的完成任務,我也就沒有多考慮用最簡單,傳統(tǒng)的方式(jsp + javaBean)很快完成了項目.系統(tǒng)經(jīng)過測試員測試通過 這樣我才放心了.
                現(xiàn)在公司準備上線系統(tǒng),這下可把我害慘了.系統(tǒng)寫了一年左右了,用戶的需求我都不記得了.此時,用戶又對系統(tǒng)提出了新的需求,要求修改.我沒有辦法,系統(tǒng)是我寫的,那么更新維護自然也是我的事情了.我只有拿出原來的文檔,重新整理思路,才把相關的需求回想起來.隨著時間的推移,經(jīng)驗的積累,看到自己寫的那些代碼實在是難以忍受.現(xiàn)在要維護系統(tǒng)了,感覺是牽一發(fā)動全身,真是糟糕透了.當時寫出系統(tǒng)時還沾沾自喜,自己又搞定一個系統(tǒng),很有成就感的.現(xiàn)在我看你還牛到那去.
                回頭再審視自己做的設計,寫的代碼. 發(fā)現(xiàn)了不少問題.
                1)層次混亂.我們經(jīng)常說的表示層,業(yè)務邏輯層,持久層相互高耦合,沒有一個清晰的分層.系統(tǒng)的架構應當采用現(xiàn)在流行的框架.比如說
                  表示層用webwork,struts,spring mvs,jsf等等,
           業(yè)務層(事務管理,,,)spring
           持久層用hibernate,iBatis,,,,
                2)沒有面向接口編程.整個系統(tǒng)中沒有見到一個接口.我還停留在面向類的編程.養(yǎng)成良好的編程習慣.
                  oop,aop讓你的系統(tǒng)有好的維護性,擴展性
                3)業(yè)務實現(xiàn)細節(jié),性能上存在問題.比如說:對基本信息的修改實現(xiàn)方式真糟糕.因為基本信息的屬性有40多個,它和另一個表是一對多的
          關聯(lián)關系. 當時覺得那么多屬性,懶得用update一個一個得來更新,干脆把相關得信息(包括它關聯(lián)的另一個表的信息)刪除掉.這樣造成了很多不
          必要的操作麻煩.你修改基本信息,為什么要去刪除它關聯(lián)表的信息,然后又要把它的信息添加進來.這不就是畫蛇添足嗎?先刪除,然后又添加,
          一些不必要的操作,造成了性能的下降.系統(tǒng)的開發(fā)遵循簡單的設計.
               4)業(yè)務操作混淆.添加新的基本信息與更新基本信息都放在同一個方法中.每一個業(yè)務方法對應一個操作.
               5)系統(tǒng)不穩(wěn)定.對系統(tǒng)要有好的單元測試,集成測試.
               6)用戶操作不方便.要站在用戶的角度多考慮,那樣的操作是他們習慣的,他們想要的.
               這樣的系統(tǒng)真是糟糕,難以維護,難以擴展,很難有好的性能.
               我們開發(fā)的系統(tǒng)不能滿足于夠用,做出的系統(tǒng)要有好的可維護,可重用,可擴展性.
          posted on 2006-01-05 17:19 Harryson 閱讀(308) 評論(0)  編輯  收藏 所屬分類: SoftwareEngineering

          <2006年1月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(10)

          隨筆分類(319)

          AJAX

          Coffee House

          CSS

          Java

          JavaScript

          Open Source

          ProjectManagement

          友情Blog

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西藏| 改则县| 阿城市| 卢湾区| 拜城县| 乌海市| 通化市| 金溪县| 临颍县| 阿勒泰市| 京山县| 茌平县| 收藏| 两当县| 德兴市| 新巴尔虎右旗| 仪征市| 综艺| 安阳县| 阜宁县| 莲花县| 库车县| 宣化县| 郓城县| 安仁县| 广元市| 和静县| 伊吾县| 泽州县| 哈尔滨市| 茶陵县| 兴宁市| 泾源县| 丹凤县| 华宁县| 简阳市| 西林县| 衢州市| 正定县| 措勤县| 沅江市|