领域层: 底层: 领域字段+ cruid: 可复用,比如从哪获取属性,实体对用户展示的名称如何取名. 下沉.
封装了数据库操作,封装了二方依赖操作,封装了三方依赖操作(图片上传等,文件保存,同步给其他模块并呈现).
领域层扩展:
分身又支持了几种不同类型的领域对象 . 例如: 出租车,卡车. 会议室,普通会议室,云会议室. 不同的对象含有的字段不一样.
看你业务上是否关注这些字段的含义,是否有校验. 如果无校验,那么变成一个ext就好了.
业务层:
复用最基本的cruid进行编排. 只需要传id即可.
但复杂点: 改造cruid. 那么就需要底层提供扩展点,或者abstract method. 又或者提供策略接口注册. abstract不够灵活,业务领域对象太多了之后,会导致继承对象太多. 策略类比较好. 这就是 业务中台的扩展点功能.