Entity(实体)包中的类和数据库中的表时一一对应关系,包括字段名称、数据类型。
一般地,Model(模型)存的是实体(Entity)类的模型。为了给前端提供实际使用的数据,一般在Model会对某些字段等进行处理,如表里存的性别字段,gender,保存的是f/m,但是提供给前端的时候需要把f/m替换成女/男。还可以添加新的字段,如把省province、市city、区district、地址address合并成新的字段detailed_address:省+市+区+地址。
Domain(领域)一般是多个Model的组合,如查看一个订单详情,除了订单编码、商品名称等订单相关的信息,可能还需要把用户信息、发货地址、支付信息等展示出来,这时就可以按Domain返回数据。
Repository(仓库)主要是针对数据进行操作,包括对不同类型数据库(如mysqsl、redis、mongodb等)中的数据进行整合。业务层应该直接和Repository打交道。
DAO(DataAccessObject) 数据访问层,直接操作数据库表,进行增删改查等操作。
Data(数据层),用于缓存数据写入和读取、配置参数数据的读取等。
Logic(逻辑层)主要负责数据校验、业务流程处理等。
Service层主要负责业务模块的逻辑应用设计。作用如下:
Controller(控制器)层主要处理外部请求,一般在此层调用Serice层的接口来控制业务流程,根据业务情况返回相关数据。
View(视图层)与控制层结合比较紧密,一般地,View主要负责展示应用的前端页面。
同Controller,Java中使用。
同Entity,Java中使用。