1. 程式人生 > >開源專案之架構分享

開源專案之架構分享

此次分享是我當初在開發某個系統時,參考的一些開源專案架構的思路和風格。

第一個是Jeesite,它的架構風格如下:

 

大家如果對jeesite感興趣的話,可以百度搜索找到,不過那已經是半年多以前的事情,jeesite目前也發生較大的變化。

當初我在參考jessite這個思路時,不知道是什麼原因使我沒有加入module,其實從現在的角度出發,加上module也是一件不錯的事情,module即模組,通過模組來擴充套件功能,這與我目前以service來擴充套件功能的思路不謀而合。

jeesite的common思路,我現在也一直再採用,common目前主要是放置常用工具類,不過,因為我們引入了Hutools開源專案,目前common主要是一些資料傳輸類,例如dto、queryvo或者是其他自定義工具類等等。

jeesite的core思路,我並沒有採用,我還是按照service思路,公共模組,例如選單,許可權,使用者,組織我將其抽象為一個公共service。

jeesite的web思路,與我現在的做法是一樣,不過我考慮的是,一旦後期模組拆分分散式之類的,我可以輕鬆的通過service思路分離,不過我的service模組耦合度要儘可能低,內聚性高,不然的話,一旦拆分意味著重構,要知道能不重構儘量不重構,重構是一件痛苦的事情。很多中小公司開發團隊,時常犯的錯誤就是為了實現功能,程式碼質量不做絲毫考慮,當然了,客觀上也是因為業務的緊急性和迫切性不得不為之。記得第一個專案給我的陰影已經足夠多了,我不想再因為程式碼質量的問題,陷入無止休的死迴圈中(改bug,改bug,這是一件要命的事情)。

另外jeesite的一個亮點就是技術選型,它的技術選型,可以說是目前java開發者們,無論是後臺還是前端都是比較熟悉的,而且目前資料也十分齊全,學習起來也不是特別難。不過,jeesite還是沒有開源,這也是我當初沒有采用它的一個重要原因,在我看來,開源意味著原始碼對外開放,一旦有問題,我可以通過看原始碼來解決,儘管有看不懂的可能性存在,但是好歹可以看吧,看總比不能看要好,這也是我一貫的作風。

 

第二個是iBase4j,它的架構風格如下:

它的這個就更好理解了

iBase4j-Biz-Facade 存放 entity,service等

iBase4j-Biz-Service 存放dao及其xml和實現類,還有配置類等

iBase4j-Biz-Web 存放對應的controller還有配置類

不過我個人覺得它的這個架構設計不是特別好

要是我來設計的話,iBase4j-Biz-Facade我會直接entity,dao,service還有xml檔案,iBase4j-Biz-Service專門放實現類,我個人覺得這樣看起來無論是從視覺上,還是邏輯上看,都比iBase4j原生設計要好。

當然了,有句話說的好,“情人眼裡出西施”或者是“一百個人一百個哈姆萊特”。總而言之,每個人都有每個人的想法。

至於iBase4j-SYS相關的其實與我上面說的iBase4j-Biz是一樣的道理。

 

第三個是人人開源(renrne-security),它的架構如下:

 

 

它的這個架構,我認為適合SpringBoot應用開發,renren-admin通常就是後臺管理系統,renrne-api用於管理介面文件可作為獨立的應用也可以引入admin中,common就不必多說,我想在上面的jeesite中已經說得很詳細了。generator,web線上程式碼生成器,我也寫過,感興趣的可以參考我的這篇部落格:https://www.cnblogs.com/youcong/p/9494892.html (JavaWeb線上程式碼生成器)

我覺得人人開源的這個比較與我接近,所以在多租戶架構設計時,我最先想到的就是人人開源,只不過我沒有理解好它們之間的關係,同時也沒有考慮到技術的侷限性,為此我付出了一週多的時間成本。

renren-generator生成的程式碼,點選表打成zip包(支援批量選擇),不過我覺得我的線上程式碼生成器比它好,但是唯一不足的是,我沒有考慮到許可權,因此我的程式碼生成器不是特別完美,但是對於提高開發效率還是有一定的幫助。

 

總結:

今天分享的一共三個開源專案,分別是jeesite、iBase4j、人人開源等。

分享這三個專案,我要告訴大家的不是學會怎麼用,而是有的時候,在開發設計的時候,如果自己沒有思路的話,特別是架構設計,可以參考下開源專案,也許你會有意向不到的收穫。

記得荀子說過一句話,“君子性非異也,善假於物也”。以此話,與IT友友們共勉。

來源:https://www.cnblogs.com/youcong/p/9800717.html

 

鄭州人工授精醫院

鄭州包皮手術多少錢

鄭州不孕不育醫院哪家好

鄭州男科哪家好