<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          NHMicro腳本化微服務(wù)開(kāi)源框架

          聯(lián)合創(chuàng)作 · 2023-09-19 11:27

          MVC 框架的缺點(diǎn):

          • 系統(tǒng)按照Controller、Service、Dao層次劃分,雖然在建設(shè)初期技術(shù)結(jié)構(gòu)清晰。但每個(gè)業(yè)務(wù)邏輯代碼都分散到不同代碼框,業(yè)務(wù)結(jié)構(gòu)不直觀,不利于后期業(yè)務(wù)重構(gòu)。

          • 業(yè)務(wù)代碼與MVC技術(shù)棧深度耦合,某層技術(shù)框架升級(jí),導(dǎo)致整體服務(wù)不可復(fù)用。

          • 由于代碼分散,支持版本化成本很高。

                        

          腳本化微服務(wù)(NHMicro開(kāi)源框架)實(shí)現(xiàn)MVC反模式

          Controller 層改造

          使用微服務(wù)交互接口取代Controller,或者仍使用原有Controller技術(shù)棧,但調(diào)用NHMicro微服務(wù)提供的腳本調(diào)用Util。

          Service 層改造

          uService層功能代碼腳本化,腳本化有利于快速調(diào)整調(diào)用流程,有利于版本化。

          Dao 層改造

          統(tǒng)一封裝Dao(NHMicro開(kāi)源框架已經(jīng)提供Dao封裝),基于Spring-jdbcTemplate封裝統(tǒng)一Dao。

           

          腳本化微服務(wù)(NHMicro開(kāi)源框架)-實(shí)現(xiàn)技術(shù)棧中的虛擬機(jī)

          NHMicro微服務(wù)架構(gòu)中交互層和dao層不含有業(yè)務(wù)屬性,需求變更時(shí)不需要修改微服務(wù)交互層代碼和微服務(wù)Dao層代碼。

          特點(diǎn)

          • 一個(gè)腳本實(shí)現(xiàn)一個(gè)業(yè)務(wù)功能,業(yè)務(wù)框架清晰。

          • 腳本內(nèi)容修改后,設(shè)置新的名稱(chēng),可以和舊腳本部署在同一個(gè)系統(tǒng)中,實(shí)現(xiàn)版本化。

          • 腳本可以被復(fù)制到另一個(gè)不同MVC棧的系統(tǒng)中,實(shí)現(xiàn)代碼復(fù)用。

          • NHMicro微服務(wù)架構(gòu)是Java技術(shù)棧中的虛擬機(jī),一次腳本編寫(xiě)到處復(fù)用。

           

          項(xiàng)目

          • micro-rule-engine 項(xiàng)目為腳本化核心引擎,核心引擎基于groovy技術(shù)實(shí)現(xiàn),支持groovy腳本熱加載。服務(wù)業(yè)務(wù)邏輯均使用groovy實(shí)現(xiàn)腳本化。

          • nh-micro-db項(xiàng)目為標(biāo)準(zhǔn)化dao層,標(biāo)準(zhǔn)化dao層基于jdbctemplate封裝,同時(shí)支持MySQLOracle,可以在框架外單獨(dú)使用。忽略orm映射功能,內(nèi)置根據(jù)id進(jìn)行增刪改查接口,強(qiáng)化參數(shù)類(lèi)型兼容性。使開(kāi)發(fā)人員不必關(guān)系查詢條件參數(shù)或查詢結(jié)果的數(shù)據(jù)類(lèi)型。提高開(kāi)發(fā)效率。

          • nh-micro-template為nh-micro-db層工具化封裝,可以快速構(gòu)建增刪改查應(yīng)用。目前支持mysql,后續(xù)支持oracle。自動(dòng)過(guò)濾參數(shù)中有效字段。如果使用mysql5.7+版本,支持動(dòng)態(tài)字段功能。可以在insert或update時(shí)自動(dòng)創(chuàng)建不存在的字段。動(dòng)態(tài)字段功能基于mysql的json字段實(shí)現(xiàn),沒(méi)有ddl操作,不受運(yùn)維制約。封裝sql模板功能,可以實(shí)現(xiàn)mybatis相同的功能。

          • project-demo項(xiàng)目為使用nh-micro框架的完整演示,同時(shí)也是腳本微服務(wù)的默認(rèn)的開(kāi)發(fā)平臺(tái)和默認(rèn)運(yùn)行容器。

          • nh-micro框架可以與任何使用spring框架的技術(shù)棧兼容,因此project-demo項(xiàng)目并不是必須的運(yùn)行環(huán)境和開(kāi)發(fā)技術(shù)棧環(huán)境。

          • project-demo 項(xiàng)目,內(nèi)置的登錄,用戶管理,角色管理,部門(mén)管理,菜單管理,字典管理等基礎(chǔ)功能。

          這些功能均使用groovy腳本實(shí)現(xiàn),可以直接使用project-demo項(xiàng)目進(jìn)行業(yè)務(wù)開(kāi)發(fā),也可以將nh-micro技術(shù)框架移植到開(kāi)發(fā)人員自有項(xiàng)目中使用,使開(kāi)發(fā)人員有更高的起點(diǎn)更關(guān)注業(yè)務(wù)實(shí)現(xiàn),而不是重復(fù)進(jìn)行基礎(chǔ)功能實(shí)現(xiàn)。后續(xù)會(huì)添加封裝好的業(yè)務(wù)功能groovy腳本,方便快速支撐業(yè)務(wù)。

          project-demo 項(xiàng)目運(yùn)行界面如下

           

           

          提示:建表sql在項(xiàng)目的readme中

          瀏覽 15
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美女网站黄片 | 成人三级在线视频 | 亚洲AAA黄片 | 色天天综合网 | 亚洲日韩中文字幕视频在线 |