步骤4:业务设计
步骤1:基本配置、步骤2:框架配置和步骤3:生成策略中参数,只需要用户根据自身业务直接在界面进行勾选配置。而业务设计需要用户根据实际的需求,进行业务模型的设计和配置。
例如,创建一个简单的订单系统,订单系统中包括用户(User)、订单(Order)和订单详情(OrderDetail)三个业务对象,且三个对象之间存在聚合关系,即用户存在时,订单才会存在,订单存在时,订单详情才会存在。同时一个用户可以关联多个订单,订单通过单号进行标识,一个订单又可以关联多个商品,例如手机、耳机等,商品可以记录数量。实现上述业务逻辑,需要进行如下设计:
- 在业务设计页面,拖拽所需的对象到设计区,并修改对象名称。
AstroPro提供了BO、Abstract BO和Value Object三种类型的对象,请根据业务需求进行选择。
- BO:业务对象,业务对象映射到服务中的一个实体,对应数据库中的一张表。
- Abstract BO:抽象对象,不能实例化,没有对应的数据库表,需要和业务对象有个继承的操作。例如,业务对象A继承一个抽象对象B,则B中的字段都会被A继承过来。
- Value Object:值对象,不能单独存在,需要和业务对象建立聚合的关系。
本示例中,拖拽三个BO对象到设计区,选中对应的BO,修改对象名称为User、Order和OrderDetail。
图1 拖拽三个BO到设计区
- 设置对象属性。
本示例中,因为一个用户需要关联多个订单,订单通过单号进行标识,一个订单又可以关联多个商品,商品可以记录数量。所以需要为“User”添加“name(用户名)”字段,用于记录用户信息。为“Order”添加“orderNo(订单编号)”字段,用于记录订单的编号。为“OrderDetail”添加“product(商品)”、“amount(数量,integer类型)”字段,分别用于记录商品的详情和商品的数量。
图2 为User对象添加name
图3 为Order添加orderNo
图4 OrderDetail添加product和amount
- 建立对象之间的关系。
AstroPro提供了一对多、多对多、聚合、树递归和继承五大关系,请根据自身业务需求进行选择。各对象间关系详细介绍,请参见对象间关系。
本示例中的订单系统,当用户存在时,订单才会存在,订单存在时,订单详情才会存在,此时需要为三个对象之间建立聚合关系。聚合关系中,次要方必须依赖首要方,任何对于次要方的操作首先要经过首要方才能继续往下操作。在User和Order的聚合关系中,User为首要方,Order为次要方,即用户存在时,订单才会存在。在Order和OrderDetail的聚合关系中,Order为首要方,OrderDetail为次要方,即订单存在时,订单详情才会存在。
图5 设置对象间关系
- 设置完成后,单击“下一步”,进行服务依赖设置。