一、前言
雨后天晴寫下、年華, 走過了一個(gè)漫長(zhǎng)的假期,從年假的第一天開始因?yàn)椴荒艿植荒茏屪约禾e,就開始研究將所學(xué)的 任何一個(gè)新技術(shù)棧的學(xué)習(xí)過程都會(huì)包括這樣一條路線;運(yùn)行HelloWorld、熟練使用API、項(xiàng)目實(shí)踐以及最后的深度源碼挖掘。 那么在聽到這樣一個(gè)需求時(shí)候,Java程序員肯定會(huì)想到一些列的技術(shù)知識(shí)點(diǎn)來填充我們項(xiàng)目中的各個(gè)模塊,例如;界面用JavaFx、Swing等,通信用Socket或者知道Netty框架、服務(wù)端控制用MVC模型加上SpringBoot等。但是怎么將這些各個(gè)技術(shù)棧合理的架設(shè)出我們的系統(tǒng)確是學(xué)習(xí)、實(shí)踐、成長(zhǎng)過程中最重要的部分。 可能很多的小伙伴在面試求職的過程中,都會(huì)看到招聘要求有些 Netty,這主要是因?yàn)?Netty 是一款非常優(yōu)秀的NIO框架,并且應(yīng)用非常廣泛。無論在互聯(lián)網(wǎng)、大數(shù)據(jù)以及通信和游戲行業(yè)中,都有Netty的身影。比如一線大廠阿里的RPC框架,Dubbo 協(xié)議默認(rèn)使用 Netty 作為基礎(chǔ)通信組件,用于各節(jié)點(diǎn)間的內(nèi)部通信。淘寶的消息中間件 RocketMQ 的消息生產(chǎn)者與消費(fèi)者,也是采用 Netty 作為高性能、異步通信組件。除了阿里系、淘寶系,其他很多一線大廠也都在使用Netty構(gòu)建高性能、分布式的網(wǎng)絡(luò)服務(wù)。 因此我們非常有必要學(xué)習(xí) Netty,那么為了讓大家更好的快速學(xué)習(xí)上手,我們拿一個(gè)熟悉又有趣的場(chǎng)景“PC端微信聊天”作為我們的目標(biāo)項(xiàng)目。來讓 Java 程序員使用自己熟悉的編程語言加上JavaFx、Netty4.x、SpringBoot、Mysql等技術(shù)棧和偏向于DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)方式,搭建的仿桌面版微信聊天工程實(shí)現(xiàn)通信核心功能。從而學(xué)會(huì)Netty的同時(shí),也做出合理的架構(gòu)和干凈的編碼。 二、工程源碼三、功能概述本專欄會(huì)以三個(gè)大章節(jié)內(nèi)容,逐步進(jìn)行講解; 第一章節(jié):UI開發(fā)。使用 第二章節(jié):架構(gòu)設(shè)計(jì)。在這一章節(jié)中我們會(huì)使用DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的四層模型結(jié)構(gòu)與Netty結(jié)合使用,架構(gòu)出合理的分層框架。同時(shí)還有相應(yīng)庫表功能的設(shè)計(jì)。相信這些內(nèi)容學(xué)習(xí)后,你一定也可以假設(shè)出更好的框架。 第三章節(jié):功能實(shí)現(xiàn)。這部分我們主要將通信中的各項(xiàng)功能逐步實(shí)現(xiàn),包括;登錄、添加好友、對(duì)話通知、消息發(fā)送、斷線重連等各項(xiàng)功能。最終完成整個(gè)項(xiàng)目的開發(fā),同時(shí)也可以讓你從實(shí)踐中學(xué)會(huì)技能。 四、項(xiàng)目演示
五、專欄學(xué)習(xí)
學(xué)習(xí)鏈接:https://chat. 六、彩蛋另外,為了感謝小伙伴們的支持!在這里贈(zèng)送5個(gè)專欄免費(fèi)碼。贈(zèng)送規(guī)則:公眾號(hào)內(nèi)原文留言位置,5樓、10樓、30樓、50樓和100樓用戶。 |
|