先獻祭上最終的類圖:
文件服務設計-類圖.jpg
服務設計的幾點感想:
1恼琼、分層
代碼的組織方式多樣。
內外區(qū)分:
以是否對外提供jar包方式屏富,interface或者叫api晴竞,是對外提供的接口方法。這快翻譯下就是業(yè)務的定義狠半,對應為rpc中需要被客戶端引用的jar包噩死,這里的代碼主要以兩個方向匯聚,一個是服務開發(fā)者對業(yè)務的理解神年,設置的標準邊界已维。
例:你是一個支付接口,賬號已日,錢垛耳,商品為必須,優(yōu)惠券選填,這種標準接口由服務開發(fā)者定義堂鲜。
例:你是一個校園基礎服務栈雳,業(yè)務方要提供班級學生放學之后沒有延時班的學生列表,這業(yè)務是需求來源缔莲。
功能區(qū)分
以springcloud feign為例
api 接口哥纫,這層只定義
controller,實現(xiàn)api痴奏,這層處理參數(shù)蛀骇。不處理業(yè)務邏輯
servcie 服務層 ,業(yè)務邏輯實現(xiàn)的主要層次抛虫,按照業(yè)務復雜層度,可以繼續(xù)劃分
建議劃分:
1简僧、門面服務
2建椰、職能服務
3、單表服務
2岛马、流程標準化
1棉姐、標準流程定制
2、復用標準流程
3啦逆、異步
1伞矩、負責功能用異步操作
2、提供回調通知
4夏志、抽象統(tǒng)一
1乃坤、底層有異構表或者數(shù)據(jù),但上層表現(xiàn)為同一業(yè)務沟蔑,中間因出參不同無法使用策略方式湿诊,則可以用泛型抽象
2、底層實現(xiàn)瘦材,中間提供統(tǒng)一操作方法
其他設計補充
用例圖:
文件服務設計-用例圖.png
流程圖:
文件服務設計-上傳流程.png
時序圖:
文件服務設計-上傳時序圖.png