足球资料库数据/孙祥/nba五佳球/足球直播哪个平台好 - cctv5今日现场直播

首頁 > 知識庫 > 正文

詳解引擎技術之約定式編程的實現(xiàn)理念(1)
2016-02-20 19:33:35   來源: 曲毅 51CTO.com    評論:0 點擊:

在前端世界里,我們經(jīng)常會聽說某某引擎,某某框架,那么到底什么樣子的東西可以稱之為引擎呢?如果我們自己希望編寫引擎應該如何做呢?在編寫引擎的時候,我們至少需要注意哪些方面呢?引擎技術到底能給我們帶來什么呢?

三、如何抽取出適用我們的引擎?

對核心引用的庫抽取,對邏輯控制抽取,對展現(xiàn)抽取,對業(yè)務進行抽取。

四、我們如果要編寫引擎,至少要完成哪些功能?(能稱之為引擎至少要具備的條件)

雖然沒有明文規(guī)定做一個引擎到底需要多少東西,但是這里我給出一個參考方案。如果一個引擎可以提供給別人使用,至少需要有以下處理機制,或者說設計好以下處理機制,可以把自己寫的庫很好的給其他人使用。

代碼約定模式,交互抽離模式,數(shù)據(jù)封裝模式,加密混淆機制,工具類包,插件管理模塊,加載器,攔截器,動畫處理模塊,緩存控制器,超時監(jiān)聽器,模版控制引擎,性能處理模塊(懶加載,按需加載,加速器),業(yè)務邏輯控制工廠,操作日志管理。

當然根據(jù)不同的項目還有很多特殊的模塊,例如做客戶端涉及到解壓縮這樣的,可以設計一個請求代理模塊。

對外還要提供一個給開發(fā)人員配置或者編寫的API層。當然還需要一個盡可能完整的使用說明。

五、什么是約定式編程?它和引擎技術有什么關系?

我們在編程的時候,如果盡可能的減少代碼量,最直觀的方式就是約定了。例如spring種就有約定模式的影子。所以在設計Crow5的時候,我大量的采用了約定的模式。

簡單的描述,如果頁面叫index.html,那么控制器的調用可以叫UI.index。那么,頁面請求的接口可以約定成romote_index。調用的模版名字可以叫做index_tpl。如果是ajax處理的事件綁定函數(shù)可以約定成 ___index 等等。所有的處理邏輯入口和調用的名字都是可以約定的。如果有了這個約定的方式,那么所有類似的編碼就有了規(guī)則,這樣就可以抽象成規(guī)則引擎。那么以后我們只需要傳輸參數(shù),配置。代碼就按照規(guī)則自動生成了。

\

上面的頁面都是用引擎自動生成的,我們可以看一下代碼。

\

編寫的代碼就是配置文件,其余所有代碼由引擎自動搞定。所有的性能處理都可以配置。這樣最大的減少重復編碼。

六、你對引擎技術的研究后續(xù)會是什么樣子?

對于未來繼續(xù)研究的是語義方面的抽取,所有引擎的代碼部分是可以通過云平臺自動實現(xiàn)按需分配,生成項目的引擎核心。根據(jù)平臺的配置自動實現(xiàn)配置文件的自動生成。這樣在做APP或者demo的時候,可以實現(xiàn)自動生成。

探索無止境,需要很多靈感,很多設計靈感就是從動物身上得到的,例如在設計心跳保持技術的時候,就是觀察青蛙冬眠這個事情上,抽取總結心跳加速,減速,停止,蘇醒等。希望能把引擎技術繼續(xù)往語義方向上突破,可能那個時候的編程就變成了問答。

【編輯推薦】

  1. 在Ubuntu 14.10 Server上安裝Jetty 9(Java服務引擎和Web服務器)
  2. Windows 10瀏覽器采用新渲染引擎
  3. Sphinx:高性能SQL全文檢索引擎
  4. Unity游戲引擎登錄Linux平臺
  5. 百度將替換必應成Windows 10瀏覽器默認首頁和搜索引擎
【責任編輯:火鳳凰 TEL:(010)68476606】

相關熱詞搜索:理念 約定式編程 引擎

上一篇:新浪微博王傳鵬:微博推薦架構的演進(1)
下一篇:【專題】如何應對運維工作的幾大挑戰(zhàn)?

分享到: 收藏