Использование шаблона Builder для возврата преобразованного аргумента - PullRequest
0 голосов
/ 31 августа 2018

У меня есть скрипт (называемый TextCleaner), который передает множество необязательных флагов на текстовое изображение и сохраняет полученные преобразования в качестве вывода. Однако скрипт написан на bash, и мне нужно, чтобы он вписался в наш стек Java.

Итак, я оглянулся и услышал, что шаблон Builder отлично подходит для необязательных аргументов (я использовал их раньше, даже не осознавая этого). Поэтому я пытаюсь создать Строителя, чтобы решить мою проблему, но Строители возвращаются только сами. Они не должны возвращать любой другой тип. Один человек рекомендовал мне просто позвонить .getImage() вместо .build(), но я не уверен, что это правильно. Вот что у меня есть сейчас для моего теоретического класса TextCleaner:

BufferedImage img = new TextCleaner.Builder("Capture1.png")
        .convertGreyScale()
        .enhance(Enhance.STRETCH)
        .filterSize(15)
        .offset(20);
        .getImage();

Что мне делать?

РЕДАКТИРОВАТЬ: Думая дальше, может быть, я ошибаюсь, думая, что класс должен быть TextCleaner. Возможно, функциональность сценария TextCleaner должна быть реализована в классе-оболочке с именем BufferedImageWrapper. Таким образом, я могу вызвать .build (), а затем просто получить изображение с помощью некоторого метода .getImage(). Это лучший вариант?

...