Здесь применим шаблон команд? - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть объект значения (VO). Одним из поля / свойства является 'sourceKey', которое содержит строковое значение.

Например:
String sourceKey1 = "cust12 / proj1 / site1 / images / somefile.JPG"
String sourceKey2 = "cust12 / area1 / site1 / images / somefile.JPG"

Теперь мне нужно преобразовать этот ключ источника и создать ключ назначения, сначала разбив ключ источника на '/', а затем:
- заменить cust12, позвонив в службу поддержки клиентов - найти клиента по Id 12 и заменить cust12 именем клиента в ключе dest.
- аналогично замене proj1 - вызовите службу проекта, найдите проект с идентификатором 1 и замените proj1 именем проекта.
- и так далее ..

Таким образом, чтобы добиться этого простым способом, я подумал о написании команд - каждой команды для извлечения объекта путем вызова соответствующей службы (customerService, projectService и т. Д.). А затем на уровне клиента просто проанализируйте sourceString и создайте список команд для выполнения, а затем, наконец, создайте ключ назначения, используя список команд.

Думаю ли я в правильном направлении? Является ли шаблон команды чистым / OO способом сделать это?

1 Ответ

0 голосов
/ 05 сентября 2018

Нет, шаблон команд не подходит для этой проблемы. С точки зрения ООП, я бы начал с моделирования исходного ключа как Object, а не String, чтобы избежать строкового типа программирования.

Похоже, что объект SourceKey будет иметь зависимости от CustomerService и ProjectService и будет содержать пять полей, которые он может объединить в String при необходимости. Другими словами, попробуйте инкапсулировать логику преобразования String в свою собственную Object.

...