Почему JdbcTemplate является примером шаблона проектирования метода шаблонаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему JdbcTemplate является примером шаблона проектирования метода шаблона

Сообщение Anonymous »

Я читал о шаблонах проектирования, в частности о шаблонном методе, когда мое внимание привлек этот вопрос о SO.

После прочтения объяснения и конкретного кода Мне все еще интересно, почему это пример шаблона проектирования «Шаблонный метод».

Согласно GoF, цель этого шаблона:


«Определите скелет алгоритма в операции, отложив некоторые шаги на подклассы. Метод шаблона позволяет подклассам переопределять определенные шаги алгоритма без изменения структуры алгоритма».


и имеет двух участников:

AbstractClass:

— определяет абстрактные примитивные операции, которые конкретные подклассы определяют для реализации шагов алгоритма
— Реализует шаблонный метод, определяющий скелет алгоритма. Метод шаблона вызывает примитивные операции, а также операции, определенные в AbstractClass или другом объекте.

ConcreteClass:

реализует примитивные операции для выполнения шагов алгоритма, специфичных для подкласса.




Почему код в «JdbcOperations» считается шаблоном проектирования «Шаблонный метод»?
  • Я не вижу никакого «глобального/общего» алгоритма, определенного в супер/абстрактном классе, даже когда я сравниваю его с кодом в аналогичном файле, например «JmsTemplate». '.
  • Ни одна из функций, реализованных в конкретных классах, не определена также в суперклассе. Все определенные методы добавляются с помощью интерфейсов, в данном случае интерфейса «JdbcOperations», и ни один из них фактически не переопределяет методы родительского элемента.
Я понимаю, что это чрезвычайно удобно для устранения шаблонного кода. Но почему это шаблонный метод, а не просто изящный трюк кодирования? На мой взгляд, он не имеет ни одной из характеристик шаблонного метода.

Подробнее здесь: https://stackoverflow.com/questions/331 ... gn-pattern
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»