請設計乙個核心功能穩定適合二開擴充套件的軟體系統

2021-10-05 12:57:12 字數 1328 閱讀 9988

如何設計出核心功能穩定,業務功能不斷擴充套件的軟體系統,我想到了微核心架構。

微核心架構又叫做外掛程式架構,是面向功能進行拆分的可擴充套件架構。

比如:eclipse外掛程式,linux ; 

外掛程式登錄檔機制:名字,位置,載入時機;

指的是外掛程式如何連線到核心系統。

外掛程式之間是解耦的,外掛程式之間通訊必須通過核心系統,核心系統提供外掛程式的通訊機制;

open services gateway initiative  主動開放服務閘道器; osgi 具備動態化、熱插拔、高可復用性、高效性、擴充套件方便等優點;

最具代表性的是eclipse的外掛程式,採用的是osgi規範設計規範。

osgi框架

osgi架構圖

屬於微核心架構的一種實現,執行引擎對應core system核心系統(微核心),執行引擎執行配置好的業務流程,規則,通過這種方式來支援業務的靈活多變。

工作場景:

對應微核心架構的外掛程式核心:

代表產品 jboss drools, 基於 rete演算法實現規則引擎,他的規則語言接近程式語言,一般包裝成視覺化介面來間接生成。

本篇首先定義了微核心架構,即 面向功能拆分的可擴充套件架構。

以及他的組成部分,即核心和外掛程式。

以及它需要解決的核心問題,外掛程式管理,外掛程式連線,外掛程式間通訊;

最後介紹了兩種微核心架構,osgi 和規則引擎 ; 

乙個超時功能的設計

有乙個產品需求,需要執行某個動作之後,需要生成乙個超時的任務,在超時時間到了之後執行後續的動作,後續動作的執行大約耗時1秒鐘。任務允許在未到超時間刪除,超時時間不超過30天。要求在現有的產品架構上實現此功能。存在問題 方案二既然方案一存在持久化的問題,那麼只要解決這個問題即可,比如儲存在乙個公共的儲...

設計乙個具有getMin 功能的棧

設計乙個具有getmin 功能的棧 1.push pop getmin 時間複雜度為o 1 2.設計棧時可以使用現有的棧結構 設計乙個具有getmin 功能的棧 1.pop,push,getmin 時間複雜度為o 1 2.設計的棧可以使用現有的棧結構 author nemo public class...

設計乙個帶有getMin功能的棧

題目 實現乙個特殊的棧,在實現棧的基本功能的基礎上,再實現返回棧中最小元素的操作。要求 1,pop,push,getmin操作的時間複雜度都是o 1 注 1,設計的棧型別可以使用現有的棧結構。思路 可以考慮使用兩個棧來進行設計,乙個棧用來儲存當前棧中的元素,其功能和乙個正常的棧沒有區別,這個棧記為s...