Я хочу создать класс в стиле Джошуа Блоха, используя шаблон Builder. Но я хочу использовать этот класс как объект DTO и передать его из EJB. Поэтому он должен иметь общедоступный конструктор без аргументов. Как я могу достичь этого стиля java-bean в шаблоне строителя? В эффективном объекте Java есть только один конструктор, который принимает объект Builder
в качестве аргумента. Если я добавлю туда общедоступный конструктор без аргументов, то я потеряю преимущество конструктора над шаблоном Java-bean.
Эффективная Ява. Шаблон Serializable Builder (как добавить общедоступный конструктор без аргументов?)
Ответы (1)
Не уверен, что заставляет вас использовать шаблон строителя здесь, но вот что мой опыт говорит о вашей проблеме.
- Вы используете EJB. Итак, я предполагаю, что вы находитесь в режиме распределенного приложения.
- Ваш DTO будет использоваться для переноса данных в EJB и из него. Итак, вам следует подумать о том, чтобы сделать ваш этот DTO сериализуемым (теперь имеет смысл иметь конструктор без аргументов).
По-моему, все, что вам нужно, это какой-то преобразователь, который принимает obj1 от некоторого слоя для обработки, а затем возвращает его.
Я бы рекомендовал использовать билдер только в том случае, когда построение вашего объекта представляет собой многоэтапный процесс (например, регистрация пользователя).
person
Prateek
schedule
11.01.2013
Спасибо. Можете ли вы дать более подробное объяснение о трансформаторе?
- person MyTitle; 11.01.2013
приятель!!! трансформатор — это все, что преобразует objA в objB, например ObjectB b = new ObjectB(); ‹br/› b.setPropert1(obja.getSomeProperty());
- person Prateek; 11.01.2013
.build()
этого построителя. - person fge   schedule 11.01.2013isValid
в компонент (или какого-либо другого механизма проверки). - person McDowell   schedule 12.01.2013