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

          UML類圖還看不懂?來看看這版鄉(xiāng)村愛情類圖,一把學(xué)會(huì)!

          共 3921字,需瀏覽 8分鐘

           ·

          2020-11-03 12:52

          沉淀、分享、成長(zhǎng),讓自己和他人都能有所收獲!?

          目錄


          • 一、碼場(chǎng)心得

          • 二、會(huì)議室

          • 三、鄉(xiāng)村愛情類圖學(xué)習(xí)

            • 1. 類圖模型

            • 2. 繼承關(guān)系

            • 3. 實(shí)現(xiàn)關(guān)系

            • 4. 組合關(guān)系

            • 5. 聚合關(guān)系

            • 6. 關(guān)聯(lián)關(guān)系

            • 7. 依賴關(guān)系

          • 四、趙家班全景類圖

          • 五、總結(jié)

          • 六、系列推薦


          一、碼場(chǎng)心得

          ?有個(gè)詞叫內(nèi)卷嚴(yán)重!

          最開始聽到這個(gè)詞是有個(gè)小伙伴在我的一篇HashMap源碼分析文章下的留言:“哥們,你這叫內(nèi)卷!”。

          什么叫內(nèi)卷呢?

          乍一看這詞還是有點(diǎn)新的。其實(shí)內(nèi)卷化來自單詞 involution,也可以稱作“過密化”。這樣就好解釋了,比如;

          1. 100個(gè)人上衛(wèi)生間就3個(gè)坑,沒法公平分配,那就誰(shuí)今天誰(shuí)穿褲衩誰(shuí)先上
          2. 100個(gè)700分以上的,就30%個(gè)名額能去清北。3萬多600分以上的考生里,很多人可能連211都上不了。
          3. 道路擁堵,不能讓每個(gè)人都開車,只能遙遙無期的搖號(hào)排隊(duì)。

          這些都可以解釋為過密化帶來的內(nèi)卷嚴(yán)重問題,但好在這些都在不斷的優(yōu)化完善。

          ?程序員也有內(nèi)卷?!

          其實(shí)大部分時(shí)候大家說的程序員內(nèi)卷,指的是面試造火箭,求職越來越難。

          其實(shí)從某種角度來說,我個(gè)人是不太認(rèn)可說程序員有內(nèi)卷的。就整個(gè)行業(yè)來看,程序員的工作就業(yè)情況和薪資待遇都是不錯(cuò)的。有人會(huì)覺得面試還得刷題、學(xué)源碼、看框架、懂架構(gòu)等等,可這些難道不應(yīng)該是你做成程序員職業(yè)發(fā)展道路上,必經(jīng)的突破嗎?

          可能每個(gè)人都會(huì)在某個(gè)時(shí)期感覺自己一直處于瓶頸期,做著重復(fù)的事情、碼著CRUD的邏輯、接觸不到核心的技術(shù)等等,都會(huì)猛的瞬間覺得自己快狒狒了。那這樣的你似乎只能用內(nèi)卷這個(gè)詞讓自己內(nèi)心平衡了,試問自己,你對(duì)自己投入過學(xué)習(xí)成長(zhǎng)的時(shí)間嗎?你有計(jì)劃破局突破自己的瓶頸嗎?如果沒有那不叫內(nèi)卷!

          二、會(huì)議室

          謝飛機(jī),小記,假期回來上班的一周的?飛機(jī),被組長(zhǎng)安排了一次項(xiàng)目成長(zhǎng)分享。

          小組長(zhǎng):飛機(jī),你分享的項(xiàng)目中,核心模塊要給大家講清楚。這塊蠻有技術(shù)點(diǎn)的!

          謝飛機(jī):嗯嗯,我也在想怎么能讓大家聽懂。

          小組長(zhǎng):最好借助一些工具,把代碼邏輯、功能流程,通過圖的方式表達(dá)出來。

          謝飛機(jī):流程圖我會(huì)畫了,但是這里的核心功能類,我還不知道怎么弄。

          小組長(zhǎng):咳咳,用UML類圖哇,把核心類體現(xiàn)出來。

          謝飛機(jī):...,沒畫過,我內(nèi)卷了嗎?

          小組長(zhǎng):不要臉!等我畫點(diǎn)資料,教你!

          三、鄉(xiāng)村愛情類圖學(xué)習(xí)

          UML(Unified Modeling Language),是一種面向?qū)ο笤O(shè)計(jì)的建模工具,建模的核心是模型,模型是現(xiàn)實(shí)的簡(jiǎn)化、真實(shí)的抽象。

          在 UML 中,所有的描述包括:事務(wù)、關(guān)系、圖這三部分構(gòu)件組成,如下圖為所有構(gòu)件的關(guān)系。

          UML 構(gòu)件關(guān)系圖,來自設(shè)計(jì)模式

          接下來,我們就著重講解UML中的類圖關(guān)系,在鄉(xiāng)村愛情人物里的體現(xiàn)。

          1. 類圖模型

          UML 類圖(Class Diagrams),是使用頻率最高的 UML 圖之一,類圖可以表示出類、接口和它們之間的協(xié)作關(guān)系。各個(gè)接口、類、屬性、方法,可以用如下方式表達(dá)。

          UML 類圖中,接口、類、屬性、方法,表達(dá)方式

          2. 繼承關(guān)系

          代碼

          public?class?謝廣坤?{
          ????private?String?輩分;
          ????public?void?作妖(){}
          }

          public?class?謝永強(qiáng)?extends?謝廣坤?{
          }

          public?class?謝飛機(jī)?extends?謝廣坤?{
          }

          類圖

          UML類圖,繼承關(guān)系

          • 功能:繼承關(guān)系
          • 概念:繼承(Generaliztion)又叫泛化,用于表示子類繼承父類的所有功能。
          • 場(chǎng)景:謝廣坤的作妖技能,謝永強(qiáng)和謝飛機(jī)繼承。謝飛機(jī)繼承的更好,更能作。

          3. 實(shí)現(xiàn)關(guān)系

          代碼

          public?interface?舞術(shù)?{
          ????void?招式();
          }

          public?class?劉能?implements?舞術(shù)?{
          ????private?String?來將姓名;
          ????public?void?招式()?{
          ????}
          }

          public?class?趙四?implements?舞術(shù)?{
          ????private?String?來將姓名;
          ????public?void?招式()?{
          ????}
          }

          類圖

          UML類圖,實(shí)現(xiàn)關(guān)系

          • 功能:實(shí)現(xiàn)關(guān)系
          • 概念:接口、抽象類聲明的方法,由類實(shí)現(xiàn)(Realiztion)其功能。
          • 場(chǎng)景:在趙四和劉能的一場(chǎng)比舞中,趙四花式走位,被劉能找準(zhǔn)時(shí)機(jī)一踢撂倒。

          4. 組合關(guān)系

          代碼

          public?class?結(jié)婚證?{

          ????private?趙玉田?男方;
          ????private?劉英?女方;

          ????public?void?set男方(趙玉田?男方)?{
          ????????this.男方?=?男方;
          ????}

          ????public?void?set女方(劉英?女方)?{
          ????????this.女方?=?女方;
          ????}
          }

          public?class?趙玉田?{

          ????private?int?年齡;
          ????private?String?性別;

          }

          public?class?劉英?{

          ????private?int?年齡;
          ????private?int?性別;

          }

          類圖

          UML類圖,組合關(guān)系

          • 功能:組合關(guān)系
          • 概念:組合(Combination)關(guān)系表示類中整體與部分的關(guān)系,整體與部分相依相存。
          • 場(chǎng)景:趙玉田和劉英的結(jié)婚證,缺一不可。

          5. 聚合關(guān)系

          代碼

          public?class?山莊?{

          ????private?宋曉峰?曉峰;
          ????private?李寶庫(kù)?寶庫(kù);

          ????public?void?藥膳房(李寶庫(kù)?寶庫(kù))?{
          ????????this.寶庫(kù)?=?寶庫(kù);
          ????}

          ????public?void?保安部(宋曉峰?曉峰)?{
          ????????this.曉峰?=?曉峰;
          ????}

          }

          public?class?李寶庫(kù)?{

          ????private?String?職業(yè);

          }

          public?class?宋曉峰?{

          ????private?String?職業(yè);

          }

          類圖

          UML類圖,聚合關(guān)系

          • 功能:聚合關(guān)系
          • 概念:聚合(Aggregate)關(guān)系,也是用于表示對(duì)象的整體和部分,但成員對(duì)象可以與整體對(duì)象分離獨(dú)立存在。
          • 場(chǎng)景:在?山莊中藥膳方有李寶庫(kù)、保安部有宋曉峰。但李寶庫(kù)和宋曉峰都只是其中的一員,都可以離開山莊。

          6. 關(guān)聯(lián)關(guān)系

          代碼

          public?class?豆腐廠?{
          ????private?王小蒙?員工;
          ????public?void?添加員工(王小蒙?小蒙){
          ????????this.員工?=?小蒙;
          ????}
          }

          public?class?王小蒙?{
          ????private?豆腐廠?企業(yè);
          ????public?void?添加企業(yè)(豆腐廠?豆腐廠){
          ????????this.企業(yè)?=?豆腐廠;
          ????}

          }

          類圖

          UML類圖,關(guān)聯(lián)關(guān)系

          • 功能:關(guān)聯(lián)關(guān)系
          • 概念:關(guān)聯(lián)(Association)關(guān)系,是類之間常用的一種關(guān)系,表示一類對(duì)象與另一類對(duì)象的聯(lián)系。組合、聚合也屬于這種關(guān)系,但關(guān)聯(lián)關(guān)系更弱。
          • 場(chǎng)景:豆腐廠里有王小蒙,但豆腐廠里又不只是有王小蒙,還有王老七。即使小蒙不在,豆腐廠也可以正常運(yùn)行。而王小蒙還有自己的其他企業(yè),所以這屬于一種關(guān)聯(lián)關(guān)系。

          7. 依賴關(guān)系

          代碼

          public?class?招商引資?{
          ????public?void?招商(王大拿?大拿){
          ????}
          }

          public?class?王大拿?{
          ????private?String?資源;
          }

          類圖

          UML類圖,依賴關(guān)系

          • 功能:依賴關(guān)系
          • 概念:依賴(Dependency)關(guān)系當(dāng)表示一個(gè)事務(wù)需要使用另外一個(gè)事務(wù)時(shí),可以使用依賴關(guān)系。
          • 場(chǎng)景:招商引資需要王大拿,但并只是就只有這一個(gè)大拿。王大拿不來,可能還有李大拿、張大拿。

          四、趙家班全景類圖

          綜上,這6種關(guān)系里,組合、聚合、關(guān)聯(lián)代碼結(jié)構(gòu)類似,可以從依賴的強(qiáng)弱進(jìn)行理解。強(qiáng)弱關(guān)系依次是:繼承 > 實(shí)現(xiàn) > 組合 > 聚合 > 關(guān)聯(lián) > 依賴。

          為了更清楚的表達(dá)出 UML 類關(guān)系,我們把這些畫到一整張圖中,如下;

          UML類圖,趙家班全景類圖

          五、總結(jié)

          • 有人說,如果我們和外星人?非常友善的通信了。那么兩個(gè)星球之間會(huì)進(jìn)行一些交流,比如問,你好,地球人?人你多高呀?地球說1.75米。外星人暈了,米是什么單位?這樣就只能選取兩個(gè)星球通用的標(biāo)準(zhǔn)來定義,比如:1米是光在真空中1/299792458秒內(nèi)經(jīng)過的距離。
          • 其實(shí)程序開發(fā)也是這樣的,為了可以讓大家減少對(duì)新知識(shí)內(nèi)容的理解的溝通成本,需要定義一些溝通標(biāo)準(zhǔn),比如UML類圖。所以我們需要學(xué)習(xí)這些標(biāo)準(zhǔn)的工具化語(yǔ)言,來減少溝通成本,提升工作效率。
          • UML類圖也是最常用的圖稿,同時(shí)也非常易于掌握。為了可以把自己的知識(shí)面鋪設(shè)的更加完善,技術(shù)棧掌握的更加夯實(shí),也為了突破每一個(gè)階段的瓶頸。那就需要不斷學(xué)習(xí),不斷的積累,找機(jī)會(huì)破局。

          六、后記

          最近寫的一些干貨,每篇都很用心,歡迎各位小伙伴閱讀/點(diǎn)贊/分享:

          1. 怒肝1.3w+字給學(xué)姐講明白計(jì)算機(jī)專業(yè)大學(xué)四年到底該學(xué)什么?

          2. 要想代碼寫的好,這幾款I(lǐng)DEA插件你離不了!

          3. Spring Boot搭建的一個(gè)在線文件預(yù)覽系統(tǒng)!支持ppt、doc等多種類型文件預(yù)覽

          4. Github Star全球唯一的國(guó)產(chǎn)程序員!Apache 頂級(jí)項(xiàng)目Commiter。

          5. 推薦一款I(lǐng)DEA神器!一鍵查看Java字節(jié)碼以及其他類信息

          6. 安利一個(gè)IDEA騷操作:一鍵生成方法的序列圖

          7. ?大二逃課總結(jié)的1.2w字的計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)!掃盲!


          我是Guide哥,Java后端開發(fā),會(huì)一點(diǎn)前端知識(shí),喜歡烹飪,自由的少年。一個(gè)三觀比主角還正的技術(shù)人。我們下期再見!

          瀏覽 78
          點(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>
                  在线成人网超逼视频 | 粉嫩小泬BBBB免费看WWWW | 亚洲AV无码成人精品区国产 | 精品婷婷乱码久久久久久蜜桃 | 亚洲艾薇在线观看 |