最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

3.3 層次與命名規(guī)范

2023-06-14 11:19 作者:xlorne  | 我要投稿

命名規(guī)范

? ? 命名規(guī)范也是單一責(zé)任原則的一種表現(xiàn)形式,命名規(guī)范不只簡(jiǎn)單的約定命名模版,還要有清晰的層次與類的職責(zé),在良好的層次規(guī)范下再約定統(tǒng)一的命名規(guī)范。

? ? 命名規(guī)范至少需要從模塊命名、包命名、類命名、變量、函數(shù)命名五個(gè)維度去約束。不能只是對(duì)函數(shù)名稱的規(guī)范要求。


混亂的原因

命名規(guī)范的干擾因素:

  1. 內(nèi)部業(yè)務(wù)功能的命名

  2. 外部功能業(yè)務(wù)的命名

? ?比如說我們?cè)诮o一個(gè)類起名字的時(shí)候,容易收到內(nèi)部或外部的干擾,導(dǎo)致了混亂的命名。例如以商品下單為例。

controller的接口,可能命名為OrderController

service 的接口,可能命名為OrderService

? ?其實(shí)OrderController或是OrderService都不是特別的合適,原因在于Controller的命名可能與界面的交互接口所匹配,所以導(dǎo)致OrderController 可能還有訂單界面的很多其他的功能,例如查詢賬戶的余額接口、展示商家詳情等接口。

? ? 再就是OrderService了,OrderService感覺應(yīng)該是對(duì)Order業(yè)務(wù)的操作,但是單從下單角度來說,他所涉及到的業(yè)務(wù)就不僅僅是Order的業(yè)務(wù),還會(huì)有商品的庫存業(yè)務(wù)、物流的業(yè)務(wù)、用戶的業(yè)務(wù)、統(tǒng)計(jì)的業(yè)務(wù),也就是說本身OrderService也是一個(gè)混合的業(yè)務(wù)類。

? ?但是如果你這樣命名了,尤其是OrderService給人感覺應(yīng)該是所有訂單業(yè)務(wù)都有它負(fù)責(zé),但是由于業(yè)務(wù)的交叉存在,導(dǎo)致OrderService成了一個(gè)復(fù)雜且混亂的對(duì)象,從而失去了它的復(fù)用性和可維護(hù)性。


解決方案

我們通過一個(gè)場(chǎng)景來了解,層次劃分的方案

服務(wù)臺(tái)

? ? 服務(wù)臺(tái)的職責(zé)是引導(dǎo),其實(shí)就是我們接口Controller層,它是以客戶(請(qǐng)求)為導(dǎo)向的,例如你來辦理注冊(cè)公司的業(yè)務(wù),那么服務(wù)臺(tái)會(huì)告訴你,你應(yīng)該先辦理公司核名、然后在辦理材料審核、然后在開戶、稅務(wù)登記、打印執(zhí)照等流程。

? ? ?從軟件設(shè)計(jì)來看,這里可以提出兩個(gè)層來

? ? ?一個(gè)是面向UI的Controller層,他的命名可以完成以UI的模塊來命名。

? ? ? 另一個(gè)是面向Controller的服務(wù)層,他的職責(zé)是告訴你窗口的辦理流程與每一個(gè)窗口所需要的材料等要求,簡(jiǎn)單來說它就實(shí)現(xiàn)了窗口調(diào)用層的流程編排。

窗口

? ? ?窗口是完整站在業(yè)務(wù)角度來設(shè)計(jì)的服務(wù)能力,它不關(guān)注用戶個(gè)性化的需求,他只處理本窗口所需要的數(shù)據(jù)與相關(guān)的業(yè)務(wù)。

? ? ?窗口其實(shí)也是有自己的service層,他的service層就是具體的業(yè)務(wù)模型的servce層。與我們?nèi)龑铀f的service層是比一樣的。

業(yè)務(wù)辦理

? ? ?業(yè)務(wù)辦理其實(shí)就是模型交互了,通過模型之間的交互完成業(yè)務(wù)的辦理過程。

檔案存檔

? ? ?檔案存檔就是對(duì)辦理過程以及辦理結(jié)果產(chǎn)生的數(shù)據(jù)進(jìn)行保存的過程。


系統(tǒng)架構(gòu)圖

模塊層次圖

總結(jié)

? ? 命名規(guī)范的前提要有清晰的層次劃分依據(jù),有了劃分依舊才能有模版、包、類的劃分標(biāo)準(zhǔn)。

然后我們從單一責(zé)任原則來命名變量以及函數(shù)的命名規(guī)范。

小技巧

? ? 為了讓團(tuán)隊(duì)對(duì)模塊和專業(yè)術(shù)語在代碼層面表達(dá)一致,可以設(shè)計(jì)一張統(tǒng)一的術(shù)語統(tǒng)一表。

表的核心字段有

名稱、解釋、變量命名、備注


3.3 層次與命名規(guī)范的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
江安县| 营口市| 彭阳县| 敖汉旗| 塘沽区| 夏河县| 亳州市| 临湘市| 武宁县| 清远市| 库车县| 汕尾市| 五华县| 凤城市| 呼玛县| 曲阜市| 凯里市| 繁昌县| 红桥区| 尤溪县| 乐都县| 玉山县| 青阳县| 临海市| 渭源县| 廊坊市| 信宜市| 泸定县| 屯昌县| 茌平县| 柯坪县| 石家庄市| 鹤壁市| 项城市| 南通市| 商都县| 卓资县| 兴隆县| 五原县| 稻城县| 宜川县|