自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 前端
有人說,如果我們和外星人非常友善的通信了。那么兩個星球之間會進(jìn)行一些交流,比如問,你好,地球人人你多高呀?地球說1.75米。外星人暈了,米是什么單位?這樣就只能選取兩個星球通用的標(biāo)準(zhǔn)來定義,比如:1米是光在真空中1/299792458秒內(nèi)經(jīng)過的距離。

一、碼場心得

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

最開始聽到這個詞是有個小伙伴在我的一篇HashMap源碼分析文章下的留言:“哥們,你這叫內(nèi)卷!”。這篇文章深度解釋了擾動函數(shù)、負(fù)載因子以及相關(guān)數(shù)學(xué)方式的結(jié)果驗證,有興趣的可以跳過去閱讀?!禜ashMap核心知識,擾動函數(shù)、負(fù)載因子、擴容鏈表拆分,深度學(xué)習(xí)》

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

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

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

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

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

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

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

二、會議室

謝飛機,小記,假期回來上班的一周的飛機,被組長安排了一次項目成長分享。

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

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

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

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

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

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

小組長:不要臉!等我畫點資料,教你!

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

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

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

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

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

1. 類圖模型

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

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

2. 繼承關(guān)系

代碼

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

public class 謝永強 extends 謝廣坤 {
}

public class 謝飛機 extends 謝廣坤 {
}

類圖

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

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

3. 實現(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類圖,實現(xiàn)關(guān)系

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

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)系,整體與部分相依相存。
  • 場景:趙玉田和劉英的結(jié)婚證,缺一不可。

5. 聚合關(guān)系

代碼

public class 山莊 {

private 宋曉峰 曉峰;
private 李寶庫 寶庫;

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

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

}

public class 李寶庫 {

private String 職業(yè);

}

public class 宋曉峰 {

private String 職業(yè);

}

類圖

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

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

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)系,表示一類對象與另一類對象的聯(lián)系。組合、聚合也屬于這種關(guān)系,但關(guān)聯(lián)關(guā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)表示一個事務(wù)需要使用另外一個事務(wù)時,可以使用依賴關(guān)系。
  • 場景:招商引資需要王大拿,但并只是就只有這一個大拿。王大拿不來,可能還有李大拿、張大拿。

四、趙家班全景類圖

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

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

UML類圖,趙家班全景類圖

五、總結(jié)

有人說,如果我們和外星人非常友善的通信了。那么兩個星球之間會進(jìn)行一些交流,比如問,你好,地球人人你多高呀?地球說1.75米。外星人暈了,米是什么單位?這樣就只能選取兩個星球通用的標(biāo)準(zhǔn)來定義,比如:1米是光在真空中1/299792458秒內(nèi)經(jīng)過的距離。

其實程序開發(fā)也是這樣的,為了可以讓大家減少對新知識內(nèi)容的理解的溝通成本,需要定義一些溝通標(biāo)準(zhǔn),比如UML類圖。所以我們需要學(xué)習(xí)這些標(biāo)準(zhǔn)的工具化語言,來減少溝通成本,提升工作效率。

UML類圖也是最常用的圖稿,同時也非常易于掌握。為了可以把自己的知識面鋪設(shè)的更加完善,技術(shù)棧掌握的更加夯實,也為了突破每一個階段的瓶頸。那就需要不斷學(xué)習(xí),不斷的積累,找機會破局。?

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2020-10-19 08:41:21

UML類圖HashMap

2010-06-30 14:37:20

UML類圖

2010-07-12 10:25:44

UML類圖

2010-06-12 18:30:57

UML類圖關(guān)系

2010-06-29 11:00:25

UML類圖實例

2023-10-06 00:01:08

UML類圖圖形

2010-07-12 09:37:26

UML建模

2010-06-11 17:18:26

UML精粹

2010-06-11 18:09:26

UML對象圖

2010-07-09 09:00:22

UML建模

2010-07-05 16:23:39

UML類圖

2010-06-29 13:22:26

UML類圖

2010-07-01 11:33:17

UML類圖關(guān)系

2010-07-02 10:25:50

UML模型圖

2010-06-28 16:54:49

UML類圖關(guān)系

2010-07-09 16:54:47

UML類圖

2010-07-05 11:01:05

常用UML圖

2010-07-09 15:19:58

UML類圖建模

2010-06-29 09:08:15

UML類圖關(guān)系

2010-06-18 14:56:15

UML綜合實例
點贊
收藏

51CTO技術(shù)棧公眾號