• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    說說動態語言

    發布: 2008-5-27 10:21 | 作者: 不詳 | 來源: blog.csdn.net | 查看: 84次 | 進入軟件測試論壇討論

    領測軟件測試網

    現在的企業應用跟十年前的MIS可是大不一樣了,需求不斷變化,修改沒完沒了。而互聯網應用呢?在變化的劇烈和頻繁方面,與企業應用相比可謂有過之而無不及。這本質上是因為企業在迅速變化,消費者在迅速變化,人們的需求在迅速變化,世界在迅速變化,F在經驗比較豐富的企業開發者越來越達成共識,即事先分析企業應用、對抗需求變更,幾乎肯定是死路一條,不管你采用什么先進的軟件工程方法、建模工具、UML語言,都無法根本解決問題。你所服務的對象自己都天天在變,你怎么可能實現量好人家的需求然后慢吞吞地去添磚加瓦呢?既然無法避免變化,不如適應變化。與其想辦法預見變化,不如讓自己有能力迅速隨需應變,提高自己對變化的反應能力,降低變化帶來的成本。

    這已經是共識了,問題在于怎么隨需應變。分歧就在這里了。今天做ASP.NET、J2EE開發的離不開XML,就是為了“隨需應變”,在變更發生時用XML來重新配置系統。以J2EE為例,高水平的J2EE開發者把XML文件越寫越復雜,最后根本就就是把XML當成領域語言來用。說白了,就是把J2EE往上擴展成一個面向領域的引擎,再用一層標準化的、薄博的XML來最后的編程,我稱之為“強引擎,弱腳本”方案。這樣做是有原因的,Java/C#好歹是個編譯語言,變更修改重新部署的成本比較大,所以要配合XML使用。但結果怎么樣?并不理想。首先系統設計難度還是很大,你還是要設計一個強勁的引擎,設計得不好就帶不動XML腳本。而設計這個強勁的引擎還是挺難的,設計錯了修改起來還是挺麻煩的,發布以后也難免還要花大力氣維護的。這問題沒解決多少。

    其次,也是我個人最反感的,就是XML的濫用。XML那東西本質上是用來在程序之間進行數據交換用的,是給程序讀寫的,不是給人讀寫的。無論從哪個角度來看,XML對人的閱讀和創作都是非常不友好的。結果為了配合J2EE,硬是趕鴨子上架,讓XML充當DSL,逼程序員去學習讀寫XML這種非常沒有趣味的“語言”,真是不人道。更有甚者,為了使用各種框架、面向各個領域,開發者還很可能要學會多種不同語義的XML方言,而且很多這樣的XML方言根本就沒有經過設計,是土法炮制出來的。兩種截然不同的語言攪和在一個系統里已經夠糟了,更糟的是多種土法炮制的XML方言土語一起攪和在系統里,結果搞得各種語義不同的XML就像癌細胞一樣在程序里擴散,這樣的系統只能用惡心來形容。

    總之,這種“強引擎,弱腳本”的方式,我認為是沒有前途的。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>