如何界定系統(tǒng)模塊之間的邊界?
本文主要討論如何合理劃定系統(tǒng)模塊間的界限,以提高系統(tǒng)效率、優(yōu)化用戶體驗(yàn),并確保各模塊間相互獨(dú)立且易于擴(kuò)展的技術(shù)問(wèn)題。
一般一個(gè)龐大的系統(tǒng),會(huì)分成多個(gè)子系統(tǒng),那這里劃分的原則是什么,后面每個(gè)子系統(tǒng)的詳細(xì)功能的劃分原則又是什么?比如商品模塊,要不要加入很多的營(yíng)銷信息,如果加了,那后面商品和營(yíng)銷模塊的重合度會(huì)越來(lái)越高,營(yíng)銷模塊的一些信息還要從商品模塊取,系統(tǒng)延展和用戶體驗(yàn)都不是特別好,所以模塊之間的系統(tǒng)邊界怎么設(shè)置,怎么把握一個(gè)度。
01 考慮用戶體驗(yàn)
相同角色的功能,最好放在一起,不至于導(dǎo)致業(yè)務(wù)需要在多個(gè)系統(tǒng)之間來(lái)回切換,高效完成工作。補(bǔ)貨這一塊不是考慮系統(tǒng)邊界的重點(diǎn),因?yàn)榧词故遣煌K,也可以在前端將多個(gè)模塊的信息呈現(xiàn)在一個(gè)界面上。
02 系統(tǒng)邏輯不要夾雜業(yè)務(wù)邏輯
不能因?yàn)橐粋€(gè)新的功能,原來(lái)的系統(tǒng)就要大的重構(gòu),出現(xiàn)這種情況,一般是模塊的顆粒度不夠細(xì),系統(tǒng)設(shè)計(jì)中夾雜了不少業(yè)務(wù)邏輯,而業(yè)務(wù)是會(huì)變的,業(yè)務(wù)一變,邏輯就可以跟著調(diào)。就好比一堆磚塊,就可以建成高樓。可是如果把磚塊封裝成一面墻,可是不同的高樓,要的墻不一樣,這個(gè)時(shí)候,就需要重構(gòu)了,把這些最小的單元(墻)拆掉。
03 模塊之間功能耦合低
每個(gè)模塊之間,互不影響,或者影響最小化。比如前面提到的商品模塊和營(yíng)銷模塊,商品模塊的最小顆粒度是商品,營(yíng)銷模塊的最小顆粒度是營(yíng)銷活動(dòng)。活動(dòng)變更了,我的商品還是那些商品,還是不變,活動(dòng)需要關(guān)聯(lián)商品,直接關(guān)聯(lián)就完了。這就是好的架構(gòu),如果把商品和營(yíng)銷雜糅在一起,商品信息調(diào)整,對(duì)應(yīng)的某些營(yíng)銷活動(dòng)的配置邏輯也要跟著調(diào)。
04 模塊之間性能耦合低
如果一個(gè)模塊掛了,最擔(dān)心的就是把其他模塊也受影響了。比如支付環(huán)節(jié),商品營(yíng)銷信息沒(méi)出來(lái),就完全下不了單了,行不行,能不能和營(yíng)銷模塊解耦,即使一個(gè)模塊出問(wèn)題了,其他模塊還能正常跑。
05 模塊直接技術(shù)可延展
從技術(shù)視角,模塊直接越獨(dú)立,越好延展,延展的同時(shí),不會(huì)受到太多其他模塊信息的干擾。所以模塊之間的邊界,技術(shù)同學(xué)也需要介入進(jìn)來(lái)。
本文由人人都是產(chǎn)品經(jīng)理作者【蔡錦海】,微信公眾號(hào):【錦海說(shuō)】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于 CC0 協(xié)議。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!