java – 从不同资源创建视图对象的最佳方法(模式?)
发布时间:2020-12-15 02:29:30 所属栏目:Java 来源:网络整理
导读:目前我正在从搜索结果(来自不同的单一资源)构建一个视图对象,如下所示: ViewObject vo = searchResultToViewObjectMapper.map(searchResult); 这很好用. 但是,现在我想添加一些图片.这些图片是网址,我只能通过搜索结果来源之外的其他资源来确定其位置. 我的
目前我正在从搜索结果(来自不同的单一资源)构建一个视图对象,如下所示:
ViewObject vo = searchResultToViewObjectMapper.map(searchResult); 这很好用. 但是,现在我想添加一些图片.这些图片是网址,我只能通过搜索结果来源之外的其他资源来确定其位置. 我的第一个想法是使用Builder Pattern,它会变成: 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方法如何做到这一点. 提前致谢! 解决方法
如果在创建对象之前拥有所有可用资源,使用工厂将为您工作 – 只需将它们传递给工厂方法,它就会发挥作用.
如果您正在创建的对象(视图)是按步骤创建的 – 即首先您只有searchResult,在此之后您可以挖掘更多并获得一些额外的URL,这些URL将添加到视图中,然后您可以进行更多搜索以获取更多信息,只有你想获得视图对象,构建器才是更好的解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |