如何命名复合 class 这样的?

How to name a composite class like this?

我们的团队正在使用 Spring Boot 2 和 sql2o 作为数据库库。在我们服务的粘贴中,对于琐碎的方法,我们只需调用存储库和 returns 模型。例如,如果我有供应商 table,我在服务中有

@Override
public List<Supplier> findAll() {
    return supplierRepository.findAll();
}

现在,由于在我们的控制器中我们需要 99% 的其他对象与模型相关,因此我将创建一个复合 class 来保存模型和其他模型。例如:

@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;
}

class UnknownName 的名字应该是什么?

PS:我简化了代码以获得更好的可读性,但我使用了一个通用的 enrich() 函数,我调用了所有的查找方法,所以我不必重复代码。

我会推荐 SupplierDtoSupplierLegalOfficeDto。 DTO 代表数据传输对象,通常用于丰富的模型 (more here)。

此外,您不应该检查 suppliers 是否为空,因为存储库总是 returns 非空列表。

最后,我采用了后缀Aggregator,遵循Domain-driven design的写法