gpt4 book ai didi

java - 从不同资源创建 View 对象的最佳方法(模式?)

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:41 25 4
gpt4 key购买 nike

目前我正在从搜索结果(来自不同的单一资源)构建一个 View 对象,如下所示:

ViewObject vo = searchResultToViewObjectMapper.map(searchResult);

这很好用。

但是,现在我想添加一些图片。这些图片是 url,我只能通过搜索结果来源以外的其他资源来确定它们的位置。

我的第一个想法是使用构建器模式,它会变成:

ViewObject vo = viewObjectBuilder.build(searchResult);

viewObjectBuilder 会做这样的事情:

private SomeOtherResourceRepository someOtherResourceRepo;

private SomeUrlBuilder someUrlBuilder;

private SearchResultToViewObjectMapper searchResultToViewObjectMapper;

public ViewObject build(SearchResult) {
ViewObject vo = searchResultToViewObjectMapper.map(searchResult);

String reference = someOtherResourceRepo.getOtherResource(searchResult);

String urlToOtherResource = someUrlBuilder.build(reference);
vo.setUrlToOtherResource(reference);

return vo;
}

问题是:这是一个好的方法吗?或者还有其他(更好)的方法吗?我也很好奇 DDD 方法如何做到这一点。

提前致谢!

最佳答案

如果您在创建对象之前拥有所有可用资源,那么使用工厂将对您有用 - 只需将它们传递给工厂方法,它就会发挥魔力。

如果您正在创建的对象( View )是分步创建的 - 即首先您只有 searchResult,之后您会挖掘更多并获得一些额外的 URL,这些 URL 将被添加到 View 中,然后你再做一些搜索以获取更多信息,然后你才想获得 View 对象,构建器将是更好的解决方案。

关于java - 从不同资源创建 View 对象的最佳方法(模式?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com