Java 如何命名这样的复合类?

Java 如何命名这样的复合类?,java,class,composite,sql2o,Java,Class,Composite,Sql2o,我们的团队正在使用SpringBoot2和as db库。在服务中的粘贴中,对于普通方法,我们只需调用存储库并返回模型。例如,如果我有一个Supplier表,那么我在服务中 @Override public List<Supplier> findAll() { return supplierRepository.findAll(); } @覆盖 公共列表findAll(){ 返回supplierRepository.findAll(); } 现在,因为在我们的控制器中,我们

我们的团队正在使用SpringBoot2和as db库。在服务中的粘贴中,对于普通方法,我们只需调用存储库并返回模型。例如,如果我有一个Supplier表,那么我在服务中

@Override
public List<Supplier> findAll() {
    return supplierRepository.findAll();
}
@覆盖
公共列表findAll(){
返回supplierRepository.findAll();
}
现在,因为在我们的控制器中,我们需要99%与模型相关的其他对象,所以我将创建一个包含模型和其他模型的复合类。例如:

@Override
public List<UnknownName> findAll() {
    List<Supplier> suppliers = supplierRepository.findAll();

    List<UnknownName> res = new ArrayList<>();

    UnknownName unknownName;
    LegalOffice legalOffice;

    if (suppliers != null) {
        for (Supplier supplier in suppliers) {
            unknownName = new UnknownName();
            unknownName.setSupplier(supplier);
            legalOffice = legalOfficeService.findByIdlegaloffice(supplier.getLegalofficeid);
            unknownName.setLegalOffice(legalOffice);
            res.add(unknownName);
        }
    }

    return res;
}
@覆盖
公共列表findAll(){
列出供应商=supplierRepository.findAll();
List res=new ArrayList();
未知名未知名;
法律办公室法律办公室;
如果(供应商!=空){
对于(供应商中的供应商){
unknownName=新的unknownName();
未知名称。设置供应商(供应商);
legalOffice=legalOfficeService.findByIdlegaloffice(supplier.getLegalofficeid);
未知名称。setLegalOffice(legalOffice);
res.add(未知名称);
}
}
返回res;
}
未知类的名称应该是什么


PS:为了更好的可编辑性,我简化了代码,但是我使用了一个通用的enrich()函数,我为所有的find方法调用它,所以我不必重复代码。

我建议
SupplierDto
SupplieralOfficedTo
。DTO代表数据传输对象,通常用于增强模型()


另外,您不应该检查供应商是否为空,因为存储库总是返回非空列表。

最后,我采用了后缀
聚合器
,如下所示。

Mh,我不知道。DTO用于数据传输,我不是在传输数据,而是在创建一个作曲家。我做了一些研究,发现了这篇文章:现在我还不确定BO和VO之间的关系。
BO:全名是业务对象:服务对象主要作用是将业务逻辑封装为对象。对象可以包括一个或多个其他对象。例如,简历、教育经历、工作经历、社会关系等等。我们可以把教育有对应的PO,经历有对应的PO,社会关系有对应的PO。BO对象处理简历建立相应的简历,每个BO包含PO。这样的处理业务逻辑,我们可以根据BO来处理
VO:ViewObject表示层对象与数据对象对应的界面显示。对于网页,一个接口或SWT,SWING,带有与接口值对应的VO对象
我读过,现在我认为正确的术语是
VO
。好吧,似乎
VO
这个术语也用于简单的值对象。我想我会采用这个术语