关于golang语言的功能结构分包的疑问,望大牛帮忙

fancyecommerce · · 3144 次点击
不管用那个语言,你划分业务模块和包的方式看来都有问题。 以你的例子为例,实际上, 订单,产品,购物车压根是很独立的三个模块。 基础包不也是用来放这些乱七八糟的东西的。 给点提示: 以你的项目为例。你需要确定最小的通用概念,做成interface。 以常用的电商模块来说,基本是 1.用户。 2.产品(id,sku,price,是否可售) 3.用户提交原始信息 然后基于这些抽象的借口再写具体的实现。 以我之前写的php电商代码为例。 产品属于shop模块,订单属于payment模块,购物车属于前端自行解决的部分。 base模块提供了基础用户,基础流程和基础流程状态基础流程模块的概念。 基础包是用来引入概念由其他模块来实现的,不是用来放业务代码的。
#5
更多评论
把两个模块都会需要的功能抽出来,放在单独的包里面。
#1
要么引入interface,要么你还需要更基础的包
#2