麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

建立一個結構合理的概念框架

2019-11-18 13:32:57
字體:
來源:轉載
供稿:網友


  程序中的各種類(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相關的調用指令.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万圣街在线观看免费完整版 | 亚洲国产高清视频 | 久久国产乱子伦精品 | 素人视频免费观看 | 99精品无人区乱码在线观看 | 国产精品免费久久久久久 | 一级大黄毛片 | 热99在线视频 | 国产精品99久久99久久久二 | 久久亚洲网| av影院在线播放 | 国语自产免费精品视频在 | 亚洲天堂中文字幕在线观看 | 精品99在线视频 | 有色视频在线观看 | 免费a级黄色片 | www.9191.com| 伊人午夜 | 91九色精品 | 极品国产91在线网站 | 深夜福利视频免费观看 | 中文字幕精品在线视频 | 黄色片免费看看 | 国产精品久久在线观看 | 9999久久久久久 | 国产日韩大片 | 免费一区在线 | 欧美日韩亚洲一区二区三区 | 欧美成人免费电影 | 少妇的肉体的满足毛片 | 成av在线 | 久久老司机精品视频 | 永久在线观看电影 | 黄网站在线播放视频免费观看 | 亚洲一区在线观看视频 | 激情视频在线播放 | h视频在线免费观看 | 伊人999| gril hd| 91精品国产91久久久久久蜜臀 | 成人在线免费观看网址 |