本發明涉及計算機,尤其涉及一種基于模塊化的代碼兼容方法、系統及可讀介質。
背景技術:
1、隨著微服務架構風格的不斷發展,使用此風格的項目越來越多,但是由于項目的規模及用戶的體量的限制,還有許多單體架構風格的適用場景。針對兩種風格的架構就需要編寫兩套代碼,增加研發成本和維護成本。
2、因此,有必要提出一種新的技術方案。
技術實現思路
1、為解決現有技術中存在的技術問題,本發明公開了一種基于模塊化的代碼兼容方法、系統及可讀介質。
2、一方面,本發明提供一種基于模塊化的代碼兼容方法,其包括:
3、s1、將應用軟件系統的代碼邏輯拆解成業務功能模塊和技術組件功能模塊,定義業務功能模塊為一個單獨的工程,定義技術組件功能模塊為一個單獨的工程;
4、s2、定義一個調用步驟s1中單獨的工程的接口工程,該接口工程中僅包括接口定義;
5、s3、定義一個繼承步驟s2中接口工程的子工程,該子工程采用jar包調用方式、feign調用方式或dubbo包調用方式來調用步驟s1的接口工程;
6、s4、生成一個或多個外殼工程,將步驟s2中的接口工程和步驟s3中的子工程集成到外殼工程中。
7、進一步地,外殼工程由配置功能邏輯和啟動功能邏輯組成。
8、進一步地,s3、定義一個繼承步驟s2中接口工程的子工程,該子工程采用jar包調用方式、feign調用方式或dubbo包調用方式來調用步驟s1的接口工程;具體包括:
9、定義一個繼承步驟s2中接口工程的子工程,當應用軟件系統的軟件架構為單體架構時,子工程采用jar包調用方式調用接口工程;
10、當應用軟件系統的軟件架構為spring?cloud?alibaba微服務架構時,子工程采用openfeign調用方式調用接口工程;
11、當應用軟件系統的軟件架構為dubbo微服務架構時,子工程采用dubbo包調用方式調用接口工程。
12、進一步地,s4、生成一個或多個外殼工程,將步驟s2中的接口工程和步驟s3中的子工程集成到外殼工程中,具體包括:
13、當應用軟件系統的軟件架構為單體架構時,生成一個外殼工程,將步驟s2中的接口工程和步驟s3中的jar包集成到外殼工程中;
14、當應用軟件系統的軟件架構為微服務架構時,生成多個外殼工程,將步驟s2中的接口工程和步驟s3中的spring?cloud?alibaba包、或dubbo包集成到外殼工程中。
15、進一步地,子工程還采用mq的異步調用方式。
16、另一方面,本發明還提供一種基于模塊化的代碼兼容系統,其包括,
17、拆解模塊,其用于將應用軟件系統的代碼邏輯拆解成業務功能模塊和技術組件功能模塊,定義業務功能模塊為一個單獨的工程,定義技術組件功能模塊為一個單獨的工程;
18、定義模塊,其用于定義一個調用單獨的工程的接口工程,該接口工程中僅包括接口定義;
19、所述定義模塊還用于定義一個繼承接口工程的子工程,該子工程采用jar包調用方式、feign調用方式或dubbo包調用方式來調用接口工程;
20、生成模塊,其用于生成一個或多個外殼工程,將接口工程和子工程集成到外殼工程中。
21、再一方面,本發明還提供一種計算機可讀介質,所述可讀介質存儲有執行上述方法的計算機程序。
22、本發明基于模塊化的代碼兼容方法,具有如下有益效果:
23、本發明的代碼兼容方法,編寫的代碼能夠兼容微服務與單體兩種架構風格,這樣能夠使用一套代碼,減少代碼的重復編寫,降低研發和維護成本。
24、本發明的附加方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
1.一種基于模塊化的代碼兼容方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于模塊化的代碼兼容方法,其特征在于,外殼工程由配置功能邏輯和啟動功能邏輯組成。
3.根據權利要求1所述的基于模塊化的代碼兼容方法,其特征在于,
4.根據權利要求1所述的基于模塊化的代碼兼容方法,其特征在于,
5.根據權利要求1所述的基于模塊化的代碼兼容方法,其特征在于,子工程還采用mq的異步調用方式。
6.一種基于模塊化的代碼兼容系統,其特征在于,其包括,
7.一種計算機可讀介質,其特征在于,所述可讀介質存儲有執行權利要求1至5任一項所述方法的計算機程序。