Прежде всего, это очень хорошая идея, и я здесь тусуюсь только потому, что гуглил библиотеку "аннотации шаблона проектирования". Хорошо, я нашел это! Я проверю это и скоро сообщу об этом.
Всем скептикам: извините, очевидно, что большинство из вас не очень опытны в области дизайна. Например. Сообщение Мартина Харриса от 3 декабря 2009 года в 21:56 ...
Я понимаю, что вы хотели сохранить свой "пример" простым. Но это не Строитель в смысле шаблона проектирования.
То же самое я хочу сказать тем, кто вообще не видит пользы. Если отношения классов относительно их ролей в шаблонах проектирования аннотируются классом, я могу использовать генератор для создания шаблонного кода. Я вижу все отношения над классом в исходном коде и могу использовать ярлыки IDE для перехода к соответствующим классам.
Если вы научились мыслить шаблонами и все шаблоны очевидны в исходном коде (с помощью комментариев или аннотаций), вы можете понять систему, состоящую из 200 классов, менее чем за час.
Что касается предложений, таких как использование @UsePattern () или @Builder ("buildMethodName")
и т. д. ... здесь мы должны спросить, как сделать это "типосэйв"? После того, как все эти строки подвержены опечаткам.
Одним из преимуществ правильных аннотаций является то, что вы можете аннотировать роли ... Большинство шаблонов проектирования состоят не из одного класса (например, Singleton), а из нескольких классов, работающих вместе! Например. если у вас есть конструктор, результат (помеченный @Product) также может быть @Composite. Таким образом, части, которые собирает конструктор, будут @Component (в отношении @Composite) и @Part (в отношении @Builder и @Product).
Возможно, лучшим аргументом для таких аннотаций будет java.lang.class, так что вы можете выразить это.
В любом случае, только несколько мыслей ... Я не могу дождаться, чтобы вернуться домой и поиграть с вещами, которые у вас есть до сих пор ^^