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