拆服務?分類?
Source: 2022/08/18
#分類 #拆服務 #拆組織
物件導向的專有名詞:類別 (Class),本質上就是 #分類 的概念。換言之,就是:
描述一個類別 (Class, n)
這件事情背後的本質就是在分類 (Classify, v),也就是:
一堆東西,先經過分類 (動作) 之後,定義類別 (名詞)
這個名詞定義的精準程度 (這裡牽涉到語言的字彙程度),決定領域 (Domain) 涉入的深度。
例如,電商領域的會員 (Member) 是領域知識,如果要用一個 Class 描述會員會怎麼描述?
class Member {
String firstName;
String lastName;
String age;
String gender;
}
這個例子是結果了,如果反過來,先有一堆東西:
- firstName
- lastName
- age
- gender
那會怎麼命名?經過分析可能會有以下 #名詞:
- Profile
- Identity
- Member
我的字彙有點少,反正至少有這三個 XDD
另外一個我常舉的例子,
通常是寫 Code 有一定經驗的人一定會 #想做 的:
(如果你沒感覺就 ....)
- 一個 Class 裡有 20 個 Method
- 一個 Method 有 1000 行
換個角度,再舉一些例子:
- 一個組織有 30 個人
- 一個房間有 300 坪
- 一個書櫃有 300 本書
- 一個系統裡有 30 個角色
- ...
這年代很多架構都是分散式架構,
大多都要拆服務,拆成微服務、奈米服務
很多人會說,要用一些方法來拆
像是現在流行的 #DDD ..
其實如果你有從上看到這裡
大概就會知道我的直接概念就是
多就拆
拆就去管理依賴
不面對這問題
時間到了
他就會來面對你
至於啥是多?
需要科學的量化方法?
還是團隊共識?
還是主管決?
只要大家看清楚就好
不要真的要給團隊共識決
不敢決
決了也不敢負責任
或者主管決
做了不好決策
該反應又不說
又靠北主管無能
科學化方法自己卻沒有能力量化
因為連自己寫過多少 Code 都沒能力掌握