Применим ли здесь шаблон команды?

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

For Example:
String sourceKey1 = "cust12/proj1/site1/images/somefile.JPG"
String sourceKey2 = "cust12/area1/site1/images/somefile.JPG"

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

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

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
50
1

Ответы 1

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

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

Другие вопросы по теме