Category паттерн вторника

“Патерн Вівторка” #7: Шаблонний метод (Template Method)

Уявімо собі, що ми маємо розробити систему пошуку повідомлень, що слалися у нашій системі. Процес пошуку складається із декількох операцій, які є загальними для всіх повідомлень, але специфіка методів може відрязнятися для деяких типів повідомлень.Вам слід написати клас Searcher, який буде енкапсулювати алгоритм пошуку, але  ви також хочете залишити можливість перевизначити деякі елементи алгоритму для

Читати далі


“Патерн Вівторка” #6: Фабричний метод (Factory Method)

Уявіть, що ваша аплікація є дуже складною і так склалося, що ви використовуєте два логінг провайдери – один Log4Net та інший Enterprise.Logging. Ваш колега догадався помістити вибір провайдера прямо у конфіг файл. Так як ви всю логіку логування абстрагуєте за інтерфейсом ILogger, то вам б також хотілося приховати специфіку створення конкретного провайдера та винести її

Читати далі


“Патерн Вівторка” #5: Специфікація (Specification)

Специфікація (Перш за все замічу, що Specification не належить до GoF патернів. То на випадок, якщо у вас виникло здивування.) Загально кажучи Специфікація це предикат, який відповідає на питання чи об’єкт задовольняє, або ж не задовольняє деякий критерій. Використовуючи специфікатори ми можемо переписати нашу складну бізнес логіку словами булевої логіки. Чи Ви коли небуть задумувалися,

Читати далі


“Патерн Вівторка” #4: Будівельник (Builder)

Уявіть, що ви володієте магазином (гаражом) по продажу ноутбуків в якому можна вибирати конфігурацію прямо біля каси (як піццу в піццерії). Вам слід створити систему, що дозволить легко будувати будь-яку конфігурацію ноутбука для будь-якого покупця. Як ви можете це зробити легко? БУДІВЕЛЬНИК Будівельник (Builder) це породжувальний дизайн патерн, що дозволяє створити повний Продукт (Product) шляхом

Читати далі


“Патерн Вівторка” #3: Флайвейт (Flyweight)

Уявіть, що ви розробляєте якогось бота до онлайн-ігрушки. У вас уже є веб клієнт, який на кожну відповідь (response) від сервера парсить HTML, у якому є записані Юніти гри. Гра має близько 50 різних тваринок, але коли ви розпарсуєте відповідь, то ви можете отримати цілу гору інстансів однієї і тієї ж тваринки, і ще цілу

Читати далі


“Патерн Вівторка” #2: Декоратор

Розкажу я вам про лікаря, який мав хорошу й швидку машину – Mersedes. Оскільки він лікар Львівської лікарні, то по дорозі на роботу він часто застрягає у пробках, тому він спізнюється і це його виводить із себе, в результаті чого страждають… Хто? – Його пацієнти. В нашого лікаря є мрія, що його машина перетворилася на

Читати далі


“Паттерн вторника!” #1

Всем привет, Как Вы все, я надеюсь:), заметили, Мы хотим сделать не только встречи нашей группы интересными, но и Наш блог! Потому Мы всячески придумываем новые рубрики чтобы Вам было интересно читать, обсуждать, получать новые знания! Из своей практики общения с новичками, а иногда уже и старшими программистами, заметил, что многие не любят / не

Читати далі