Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Template method / Template Method - Introduction

  • На этом уроке мы познакомимся с очередным
    шаблоном: "Шаблонным метод" (Template Method).

    ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)>Шаблонный метод (шаблон проектирования)
  • Дата отправки отчёта: 11 сентября 2018 г.
  • Задание выполнено: за 22 мин.
  • Чему научился: Оказывается, я уже использовал данный шаблон, не зная о его названии (и о его существовании).
    Есть некоторое устройство, с которого необходимо прочитать информацию. Это устройство может быть подключено либо к COM-порту, либо по сети с использованием TCP/IP/
    Общий алгоритм описан в абстрактном классе: подключиться, прочитать данные, отключиться.
    А вот конкретные классы реализуют непосредственно методы подключения и отключения для последовательного порта и для сокета.

    Бытовой пример - отвертка со сменными битами. Сама отвертка без вставленной биты смысла не имеет, она абстрактна. Но она реализует алгоритм "закрутить" и "раскрутить". А вот конкретные биты уже используются для работы с конкретными болтами и гайками.
  • Оценка видео-уроку:
Отчёт от 18681 за Template method / Template Method - Introduction




Оцени работу

 
Сохранить страницу:

1295. --
Дмитрий Че
Дмитрий Че
ответить
→  alklokov  # Template method / Template Method - Introduction / 2018-09-11 01:31

Остроумная и наглядная картинка!


10558. --
Иван Воронин
Иван Воронин
ответить
→  alklokov  # Template method / Template Method - Introduction / 2018-09-11 02:28

Всё верно, молодец, отличные примеры.


17606. --
Виктор
Виктор
ответить
→  alklokov  # Template method / Template Method - Introduction / 2018-09-11 09:08

Спасибо за картинку. Очень наглядно и доходчиво. Кроме того, образы легче запоминаются и намного дольше остаются в памяти. определения же выветриваются за неделю, максимум месяц. И вряд ли я  через полгода вспомнил бы об абстрактном классе, который определяет  основной алгоритм, а  его наследники переопределяют некоторые его действия, не изменяя его структуры в целом. Теперь же смотря на эту отвертку с насадками, мне все становится легко и понятно.... Также иду этот курс...


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  alklokov  # Template method / Template Method - Introduction / 2018-09-11 09:33

Классный пример.
Добро пожаловать в КФ!


  • Отчёт оценивали:
    16548Hofflin+1   1295Дмитрий Че+1   18493Evgenii Kudriavtcev+1   10558Иван Воронин+1   6452Кирилл Шмойлов+1   19022Олег Чудновский+1   9014Николай Денисов+1   7119Новопашин Владимир+1   9752chokayes+1   17947Dmitry Sinitsin+1   Посетитель+1   16218Дмитрий+1   17606Виктор+1   3922Александр+1   1Евгений Волосатов+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: шаблонный метод используется в случаях когда при работе с разными классами теребуется произвести серию похожих действий. например для принятие заказа в ресторане фаст фуд требуется внести заказ, посчитать итоговую сумму, выдать сдачу. Эти действия будут общими для любого заказа. При этом заказы могут отличаться, по признаку требуется ли готовка (гамбургер дополнительное отправление заказа на кухню) или нет (предоставление напитка из бара). По тем действиям, которые отличаются - в абстрактном классе создается абстрактный метод, который затем реализуется в отдельных классах.



Научился: Интересный паттерн и когда писал сборник игр, вот такие операции, как инициализация запуск пауза результат у всех игр разный, но последовательность действий одинаковая.