goft
搜索文档…
领域层之实体
其实和我们常规的实体差别并不大,不要想的太复杂

建立领域模型的第一步就是需要识别出实体、值对象

谁来识别? 当然是饱受996的我们了。。。。。
譬如用户实体:UserModel
1
type UserModel struct {
2
UserId int `gorm:"column:user_id;primary_key;auto_increment" json:"user_id" xorm:"'user_id'"`
3
UserName string `gorm:"column:user_name" json:"user_name" xorm:"'user_name'"`
4
UserPwd string `gorm:"column:user_pwd" json:"-" xorm:"'user_pwd'"`
5
}
Copied!
实体必须有唯一标识,譬如下面这个就不是实体,但不代表不能建立。你如果有特殊用途,这么建完全没问题。只不过它不是实体而已
1
type UserModel struct {
2
UserPwd string `gorm:"column:user_pwd" json:"-" xorm:"'user_pwd'"`
3
}
Copied!

在我们脚手架中实体和领域驱动的实体概念一致,不过需要有个接口

1
type IModel interface {
2
Name() string
3
}
Copied!
建立的所有实体,必须实现Name方法。返回实体名称
最近更新 1yr ago