這幾天為了設(shè)計插件開發(fā)框架,嘗試用了一下發(fā)散思維來思考問題。中間看過依賴注入,AOP(面向方面編程),以及契約式設(shè)計等。雖然有些工具無法直接使用,但是這些思想還是可以借鑒的,比如依賴注入,契約式設(shè)計。至于AOP,和工具相關(guān)性較大,雖然思想不錯,但是無法直接在C++中使用。

          我設(shè)計的插件間的依賴不是通過接口實現(xiàn)的,而是通過插件間的數(shù)據(jù)(信元流)。而信元流的檢測可以使用契約來檢查。

          插件開發(fā)框架的總體結(jié)構(gòu)

          結(jié)構(gòu)圖

          微內(nèi)核

          1、 負責插件的加載,檢測,初始化。

          2、 負責服務(wù)的注冊。

          3、 負責服務(wù)的調(diào)用。

          4、 服務(wù)的管理。

          擴展層:

          1、 日志的打印。

          2、 消息(信元流)的解釋,將二進制格式解釋為文本。便于定位。

          3、 消息和日志的追蹤。

          分布式處理層:

          1、 用于和其他的框架通信。

          2、 和其他的框架搭配,形成一個分布式的系統(tǒng)。

          自動化測試框架層:

          1、 集成 cppunit 。

          2、 自動化集成測試框架。

          3、 自動化功能測試框架。

          和第三方框架集成層:

          1 、和 第三方框架 集成層。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          posts - 19, comments - 0, trackbacks - 0, articles - 0

          Copyright © 常高偉

          主站蜘蛛池模板: 宣威市| 萨嘎县| 房产| 新沂市| 东城区| 浮梁县| 安多县| 大厂| 台安县| 巢湖市| 衡阳县| 高州市| 东光县| 丽江市| 镇宁| 延川县| 万山特区| 镇坪县| 潮安县| 长乐市| 大港区| 礼泉县| 平潭县| 邢台县| 桐柏县| 沁阳市| 富民县| 新密市| 山阴县| 平邑县| 沙坪坝区| 望奎县| 焦作市| 筠连县| 右玉县| 保德县| 鱼台县| 达日县| 九龙城区| 新昌县| 连城县|