????
電商項目模塊劃分:
商品詳情頁, 多入口
BaseEnv模塊:登錄,網關,數據庫,JSBridge,基礎Catagory,Util等
Index業務模塊:電商首頁模塊
Search業務模塊:電商搜索模塊
ProductDetail業務模塊: 商品詳情模塊
Cart業務模塊:購物車模塊
電商項目難點:
按模塊,不如按組件
比如一個電商App,可能會有首頁、附近、分類、我的四大模塊,工程結構也根據這四大模塊進行劃分,
同樣的,iOS則分為四個分組:home、nearby、category、user。
之后,每個模塊下相應的頁面就放入相應的模塊。那么,問題來了,商品詳情頁應該屬于哪個模塊呢?首頁會跳轉到商品詳情頁,附近也會跳轉到商品詳情頁,分類也會跳轉到商品詳情頁,用戶查看訂單時也能跳轉到商品詳情頁。有些頁面,并不能很明顯的區分出屬于哪個模塊的。我接手過的,按業務劃分的二手項目中(即不是由我搭建的項目),我要找一個頁面時,我認為應該屬于A模塊的,但在A模塊卻找不到,問了同事才知道在B模塊。類似的情況出現過很多次,而且不止出現在我身上,對業務不熟悉的開發人員都會出現這個問題。而且,對業務不熟悉的開發人員開發新的頁面或功能時,如果對業務理解不深,劃分出錯,那也將成為問題,其他人員要找該頁面時更難找到了。
因此,我更喜歡按組件劃分的工程結構,因為組件每個人都懂,不管對業務熟不熟悉,查找起來都明顯方便很多。
controllers 存放所有ViewController
cells 存放所有Cell,包括TableViewCell和CollectionViewCell
views 存放所有自定義控件或對系統控件的擴展
utils 存放所有的工具類