领域层之实体

其实和我们常规的实体差别并不大,不要想的太复杂

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

谁来识别? 当然是饱受996的我们了。。。。。

譬如用户实体:UserModel

type UserModel struct {
   UserId int `gorm:"column:user_id;primary_key;auto_increment" json:"user_id"  xorm:"'user_id'"`
   UserName string `gorm:"column:user_name" json:"user_name" xorm:"'user_name'"`
   UserPwd string `gorm:"column:user_pwd" json:"-" xorm:"'user_pwd'"`
}

实体必须有唯一标识,譬如下面这个就不是实体,但不代表不能建立。你如果有特殊用途,这么建完全没问题。只不过它不是实体而已

type UserModel struct {
   UserPwd string `gorm:"column:user_pwd" json:"-" xorm:"'user_pwd'"`
}

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

type IModel interface {
   Name() string
}

建立的所有实体,必须实现Name方法。返回实体名称

最后更新于