<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    概念的框架

    Posted on 2006-08-06 16:30 canonical 閱讀(1032) 評論(1)  編輯  收藏 所屬分類: 設計理論
    ? 程序中的各種類(Class),包(package)等首先體現的是架構設計中的一種概念分布. 一個良好的設計相當于是建立一個結構合理的概念框架, 隨著系統的不斷發展, 作為概念載體的類(Class)不斷吸收相關的實現, 從而使其外延不斷豐富起來, 而其內涵也愈加變得明晰. 系統中概念的分化, 最顯著的不是業務模塊的劃分, 而是技術層面與業務層面的分離. 因為技術手段與業務在很大程度上是相互獨立的, 因為 [無論]實現什么樣的業務, 我們[都]將用到某種技術手段.? 而當我們可以回答一個"無論..都" 的問題的時候, 它意味著某個概念可以容納眾多變化, 而它自然有資格成為某種獨立的部分.?
    ? 作為技術層面概念聚集的例子, 我們可以看一下spring framework中的JdbcTemplate類, 這個類在spring的概念體系中對應于"Jdbc調用幫助類"這一概念, 它的目的是幫助我們盡量通過一次函數調用得到我們所要的結果, 但是我已經不止一次的看到很多人使用如下調用
    ?? List results = jdbcTemplate.query(...);
    ?? List ret = new ArrayList();
    ?? for(int i=0;i<results.size();i++){
    ???? ret.add(((Map)results.get(i)).get("someField"));
    ?? }
    這段代碼的目的是為了得到某一列的值, 而JdbcTemplate類沒有直接提供這一函數. 為了不等待spring的升級, 顯然我們需要建立一個JdbcTemplate的擴展類, 它直接提供一個queryScalarList函數, 而不是讓這種純粹技術性的循環語句散見在程序代碼的各個角落.
    ? 告別裸奔編程是我對同事的基本要求之一. 即使是考慮最細致的軟件組件, 它也難以保證能夠預想到所有的變化形式, 而在系統中集成一些第三方組件的時候, 一般總要加入一些特定的假設, 此時也需要一個技術隔離層. 例如在頁面開發中, 我們強制使用witrix平臺定義的js.Ajax對象, 而不是prototype.js中原始提供的Ajax.Updater等對象. 在應用一段時間之后, js.Ajax對象上聚集了一系列與ajax相關的調用指令.

    Feedback

    # re: 概念的框架  回復  更多評論   

    2006-08-07 17:32 by 小影
    看的不是很懂:(
    主站蜘蛛池模板: 免费国产成人午夜在线观看| 91嫩草亚洲精品| 亚洲精品国产日韩无码AV永久免费网| 精品国产免费观看一区| 成人无遮挡裸免费视频在线观看| 黄色成人免费网站| 2021国产精品成人免费视频| 9久9久女女免费精品视频在线观看| 成人无码区免费A片视频WWW | 亚洲午夜精品久久久久久浪潮| 精品国产免费人成网站| xxxxx做受大片在线观看免费| 一级做a爰性色毛片免费| 亚洲免费无码在线| 人妻免费一区二区三区最新| 日本一道本不卡免费| 永久免费视频网站在线观看| 国产精品入口麻豆免费观看| 最近中文字幕mv免费高清电影 | 一级做a爰片久久毛片免费陪| 国产精品玖玖美女张开腿让男人桶爽免费看 | 日本久久久免费高清| 免费又黄又爽又猛的毛片| 亚洲国产一成久久精品国产成人综合 | 亚洲综合伊人久久大杳蕉| 亚洲AV日韩AV高潮无码专区| 91亚洲国产成人精品下载| 亚洲人xxx日本人18| 污视频网站免费观看| a级毛片在线免费| 免费观看美女用震蛋喷水的视频| 日本亚洲欧洲免费天堂午夜看片女人员 | 一本色道久久88亚洲综合| 亚洲午夜福利AV一区二区无码| 国产成A人亚洲精V品无码| 亚洲福利视频网址| 亚洲AV无码XXX麻豆艾秋| 一级毛片aa高清免费观看| 99久久免费观看| 成人国产mv免费视频| 国产亚洲精品国产|