如何開發一個框架或中介軟體
開發框架(以下均指框架和中介軟體)。
從需求出發。
開發框架首先是從需求出發,包括收集開發人員的需求,自己構思軟體需求。比如說RPC框架,需求可能是遠端呼叫,IP固定。也可能是需要有負載均衡的功能,但是功能也未必是必須有的。所以,需要做什麼功能,功能1,功能2,功能3。框架的開發,一般也是從簡單到深入。可能一個正在使用的框架,只有最簡單的功能。經過不斷升級,才發展為功能豐富的框架。
設計API
API設計主要是給框架的使用者來使用的,這裡可能有一些設計原則,比如說介面升級不能破壞原有介面。更多的細節可以參考一下6大設計原則和23種設計模式。
元件化
一個好的框架,肯定不會幾個七零八落的類組合的,而是有具體的元件,比如說網路通訊模組,資料庫訪問模組,序列化模組。做好元件化,可以讓軟體更好的擴充套件。不僅如此,元件化的部分有時候可能會涉及到生命週期管理,比如說spring的bean有銷燬回撥方法,servlet也有銷燬,新建等方法。這些方法都是給使用者在一定時期去做一些事情。
擴充套件
好的框架都是支援擴充套件的,比如說序列化。可能第三方人員不想使用jdk序列化,想擴充套件出自己的序列化方式去替換原有的序列化。這裡需要定義可擴充套件介面。可擴充套件介面的發現可能會用到SPI這種方式。
過濾器,攔截器,外掛
過濾器,攔截器,外掛等的功能比較類似,在軟體啟動和執行過程中的很多個階段,都可能會用到這些功能。
日誌
軟體應該支援豐富的日誌。
相關文章
- 孔子=?中介軟體開發框架?框架
- 如何編寫一個 Redux 中介軟體Redux
- 如何設計一個資料庫中介軟體資料庫
- Express框架(二)—— 中介軟體Express框架
- 寫一個簡易中介軟體
- 如何從零開發一個NuGet軟體包?
- 中介軟體增強框架之-CaptureFramework框架框架APTFramework
- PHP 框架中介軟體實現PHP框架
- Django框架之中介軟體引入Django框架
- Django框架之中介軟體思想Django框架
- 如何設計一個簡單的訊息中介軟體
- 中介軟體增強框架之InterceptFramework框架Framework
- Koa日誌中介軟體封裝開發封裝
- 如何藉助小程式容器與前端中介軟體提升開發效率前端
- 如何開發一個 SAP UI5 Tools 的自定義中介軟體擴充套件 - Custom Middleware ExtensionUI套件
- 介紹一個軟體開發工具
- 軟體開發趨勢:敏捷開發框架,瞭解一下?敏捷框架
- 基於gin的golang web開發:中介軟體GolangWeb
- Redis中介軟體與Web中介軟體RedisWeb
- 初學者必讀:如何使用 Nuxt 中介軟體簡化網站開發UX網站
- 一個基於koa2的微信開發中介軟體koa-easywechat,開箱即用
- 桌面軟體開發框架大賞框架
- ASP.NET Core如何知道一個請求執行了哪些中介軟體?ASP.NET
- 力軟敏捷開發框架幫您開發什麼軟體敏捷框架
- 從-1開始實現一箇中介軟體
- SpringBoot分散式任務中介軟體開發 附視訊講解 (手把手教你開發和使用中介軟體)Spring Boot分散式
- 中介軟體之訊息中介軟體-pulsar
- 一週一箇中介軟體-hbase
- Redux中介軟體對閉包的一個巧妙使用Redux
- 【Laravel 5.4】新增兩個中介軟體Laravel
- [Laravel 5.4] 新增兩個中介軟體Laravel
- 如何定製分表中介軟體
- [分散式][訊息中介軟體]訊息中介軟體如何實現每秒幾十萬的高併發寫入分散式
- go的web框架gin的使用(八):中介軟體GoWeb框架
- 學習Node須知——中介軟體框架Connect框架
- nodejs express 框架解密3-中介軟體模組NodeJSExpress框架解密
- 想開發一個安全軟體,怎麼搞?
- 一個Wpf的開發框架框架