這幾天為了設計外掛程式開發框架,嘗試用了一下發散思維來思考問題。中間看過依賴注入,aop(面向方面程式設計),以及契約式設計等。雖然有些工具無法直接使用,但是這些思想還是可以借鑑的,比如依賴注入,契約式設計。至於aop,和工具相關性較大,雖然思想不錯,但是無法直接在c++中使用。我設計的外掛程式間的依賴不是通過介面實現的,而是通過外掛程式間的資料(信元流)。而信元流的檢測可以使用契約來檢查。
外掛程式開發框架的總體結構
微核心:
1、 負責外掛程式的載入,檢測,初始化。
2、 負責服務的註冊。
3、 負責服務的呼叫。
4、 服務的管理。
擴充套件層:
1、 日誌的列印。
2、 訊息(信元流)的解釋,將二進位制格式解釋為文字。便於定位。
3、 訊息和日誌的追蹤。
分布式處理層:
1、 用於和其他的框架通訊。
2、 和其他的框架搭配,形成乙個分布式的系統。
自動化測試框架層:
1、 整合 cppunit 。
2、 自動化整合測試框架。
3、 自動化功能測試框架。
和第三方框架整合層:
1 、和 第三方框架 整合層。
構建自己的C C 外掛程式開發框架(三) 總體結構
這幾天為了設計外掛程式開發框架,嘗試用了一下發散思維來思考問題。中間看過依賴注入,aop 面向方面程式設計 以及契約式設計等。雖然有些工具無法直接使用,但是這些思想還是可以借鑑的,比如依賴注入,契約式設計。至於aop,和工具相關性較大,雖然思想不錯,但是無法直接在c 中使用。我設計的外掛程式間的依賴...
為什麼要開發自己的框架 平台或外掛程式
從零開始製作任何框架都是一項讓人望而生畏的工作,特別是一些框架已經執行好多年了。在如今這個拿來主義的文化背景下,存在著許多同質化的優秀產品,那我們為什麼還要開發自己的框架 平台或外掛程式?我個人認為主要3個原因。1 深刻理解問題空間 當我們編寫自己的工具的時候,我們別無選擇,必須使自己完全沉浸在問題...
為什麼要開發自己的框架 平台或外掛程式
從零開始製作任何框架都是一項讓人望而生畏的工作,特別是一些框架已經執行好多年了。在如今這個拿來主義的文化背景下,存在著許多同質化的優秀產品,那我們為什麼還要開發自己的框架 平台或外掛程式?我個人認為主要3個原因。1 深刻理解問題空間 當我們編寫自己的工具的時候,我們別無選擇,必須使自己完全沉浸在問題...