【发布时间】:2018-09-04 09:20:56
【问题描述】:
我有一个值对象(VO)。字段/属性之一是保存字符串值的“sourceKey”。
例如:
字符串 sourceKey1 = "cust12/proj1/site1/images/somefile.JPG"
字符串 sourceKey2 = "cust12/area1/site1/images/somefile.JPG"
现在我需要对这个 sourceKey 进行一些转换,并通过首先用'/'打破源密钥来构建目标密钥,然后:
- 通过调用客户服务替换 cust12 - 通过 Id 12 查找客户并在 dest 键中用客户名称替换 cust12。
- 与替换 proj1 类似 - 调用项目服务,通过 id 1 查找项目并用项目名称替换 proj1。
- 等等..
因此,为了以简洁的方式实现这一点,我想到了编写命令 - 每个命令通过调用适当的服务(customerService、projectService 等)来获取对象。然后在客户端级别只需解析 sourceString 并构建要执行的命令列表,然后最后使用命令列表构建目标键。
我的想法是否正确?命令模式是干净的/OO 方式吗?
【问题讨论】:
标签: java oop design-patterns command-pattern