不知道构建这个的最佳实践是什么,所以我没有循环依赖关系,我有一个公开的包,它需要一个存储,因为它需要访问数据库,但它也有一些结构userUserService
package user
type UserParams struct {
Client util.HTTPExecutor
Store store.Store
...
}
func NewUserService(params *UserServiceParams) *UserService {...}
type User struct {
ID int32 `db:"id" json:"id"`
Name string `db:"name" json:"name"`
}
同时,我有一个存储包,它有一个接口,可以采取一些用户结构并保存到数据库中。
package store
type Store interface {
UpdateUser(ctx context.Context, u *user.User) error
}
它是否更有意义
将结构移动到商店包装中(后者可能最终会为不同的产品组件生成很多这些结构)User
将结构移动到单独的公共包中,以便两个包都可以访问它User
将结构移动到包下的包中User
userstruct
user
谢谢!
白衣非少年
相关分类