Жодні шаблони дизайну не потрібні. На будь-якій мові.
Я, як правило, стикаюся з великою кількістю коду, написаного людьми, які читають про дизайнерські зразки, а потім думають, що їм слід їх використовувати всюди. Результат полягає в тому, що фактичний код закопується під тоннами інтерфейсів, обгортки та шарів і його досить важко читати. Це неправильний підхід до дизайнерських моделей.
Шаблони дизайну існують так, що вам потрібен репертуар корисних ідіом, коли ви стикаєтеся з проблемою. Але ніколи не слід застосовувати жодну схему, перш ніж визначити проблему. Зробити це просто Дурне завжди повинно бути вищим принципом управління.
Це також допомагає мислити дизайнерські шаблони як концепцію, щоб думати про проблему, а не про конкретний код котла для написання. І про більшу частину котлованної панелі, як для вирішення Java, яка не має вільних функцій та стандартних функціональних об'єктів, якими ви користуєтесь у більшості інших мов, на яких вони є (наприклад, Python, C #, C ++ тощо).
Я можу сказати, що у мене є шаблон відвідувачів, але будь-якою мовою з функціями першого класу це буде лише функція, яка приймає функцію. Замість заводського класу у мене зазвичай є лише фабрична функція. Я можу сказати, що у мене є інтерфейс, але тоді це лише пара методів, позначених коментарями, оскільки не було б жодної іншої реалізації (звичайно, в python інтерфейс завжди є лише коментарями, оскільки він набрав качку). Я все ще кажу про код як про використання шаблону, тому що це корисний спосіб продумати його, але насправді не вводити всі речі, поки мені це дійсно не потрібно.
Тож вивчіть усі закономірності як поняття . І забудьте конкретні реалізації. Реалізація різниться і повинна відрізнятися в реальному світі, навіть лише на Java.