我正在学习DDD。
但是我不知道如何在应用程序中应用DDD。我的几乎所有应用程序都有简单的要求。只需从API获取数据并对其进行重组即可。如果需要更多数据,请调用更多API。
要求:搜索在2公里半径范围内的开业餐厅(商店)中出售的菜单输入:用户的位置
提供的API:搜索商店API,商店营业时间API(按商店ID),菜单API(按商店ID)
题
在这种情况下,我无法提取域/模型。什么是域实体?
这是我的示例代码。但这似乎很糟糕。我认为SearchMenuService是应用程序服务(不是域服务),但是有很多逻辑。我该如何修复示例代码?
如果我想从域实体中的rest api获取更多数据,这可能吗?我认为JPA可以通过延迟加载来获取更多数据。
@Service
public class SearchMenuService {
private StoreRepository storeRepository;
private OpenTimeRepository openTimeRepository;
private MenuRepository menuRepository;
@Transactional(readOnly = true)
public ResultMenu getMenus(String location) {
List<Store> stores = storeRepository.findStore(location);
List<Store> nearStores = stores.stream().filter(store -> store.distance < 2000).collect(Collectors.toList());
if (CollectionUtils.isEmpty(nearStores)) {
throw new NotFoundStoreException();
}
List<OpenTime> openTimes = openTimeRepository.findByStores(nearStores);
List<Store> openStores = new ArrayList<>()
for (int i = 0; i < nearStores.size(); i++) {
LocalTime now = …Run Code Online (Sandbox Code Playgroud)