<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>

          Maven 架構(gòu)選型,單模塊還是多模塊?

          共 1197字,需瀏覽 3分鐘

           ·

          2021-09-27 09:00

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

          作者:AMOS0626
          來(lái)源:https://my.oschina.net/AmosWang/blog/4951326

          1. 單模塊

          優(yōu)勢(shì)

          快速上手,前期開(kāi)發(fā)效率高。

          劣勢(shì)

          要想實(shí)現(xiàn)傳統(tǒng)的三層架構(gòu)(web/service/dao),多采用分包,分包帶來(lái)個(gè)問(wèn)題就是,包之間邊界約束不夠。

          正常來(lái)說(shuō),三層架構(gòu)之間是有依賴(lài)關(guān)系的,dao --> service --> web,依賴(lài)是單向的。

          舉個(gè)例子:前端請(qǐng)求的 xxxRequest 應(yīng)該放哪呢,放 web 還是 service,放 web 的話,service 應(yīng)該是不能訪問(wèn)的,所以怎么約束呢?

          再極端一點(diǎn),dao 不能調(diào)用 service 吧,但項(xiàng)目中最不缺的就是臨時(shí)方案,所以怎么約束呢?

          2. 多模塊(重點(diǎn)來(lái)了)

          優(yōu)勢(shì)

          約束能力,模塊間引用關(guān)系是明確的,項(xiàng)目架構(gòu)更清晰。推薦一個(gè) Spring Boot 基礎(chǔ)教程及實(shí)戰(zhàn)示例:https://github.com/javastacks/spring-boot-best-practice

          劣勢(shì)

          簡(jiǎn)單說(shuō),從頭搭著可能慢點(diǎn),用上模板都差不多。

          首推阿里COLA:https://github.com/alibaba/COLA

          本人結(jié)合 阿里COLA4.0 實(shí)現(xiàn)了一個(gè),模塊結(jié)構(gòu)如下

          think-cola

          項(xiàng)目地址:https://github.com/AmosWang0626/think-cola

          3. 怎么選?

          作為應(yīng)用級(jí)架構(gòu),小項(xiàng)目,2~3個(gè)人開(kāi)發(fā)的,單模塊可能就足夠,前提是每個(gè)人都對(duì)架構(gòu)有認(rèn)識(shí),個(gè)人約束力很重要;

          其他均建議多模塊,長(zhǎng)期來(lái)看,約束是第一生產(chǎn)力,架構(gòu)直接影響重構(gòu)的成本。

          引用《代碼精進(jìn)之路:從碼農(nóng)到工匠》中的兩段話結(jié)尾:

          • 要記住,留給公司一個(gè)方便維護(hù)、整潔優(yōu)雅的代碼庫(kù),是我們技術(shù)人員最高技術(shù)使命,也是我們對(duì)公司做出的最大技術(shù)貢獻(xiàn);
          • 【防止破窗】首先我們要有一套規(guī)范,并盡量遵守規(guī)范,不要做“打破第一扇窗”的人;其次,發(fā)現(xiàn)“破窗”要及時(shí)修復(fù),不要讓問(wèn)題進(jìn)一步惡化。






          關(guān)注Java技術(shù)??锤喔韶?/strong>



          獲取 Spring Boot 實(shí)戰(zhàn)筆記!
          瀏覽 43
          點(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>
                  毛片十八 | 婷婷国产精品视频 | 任你躁精品一区二区三区介绍 | 久久久久久久久久97 | 激情婷婷综合网 |