Как знание паттернов проектирования помогает в общении?
Для чего программисту нужны паттерны проектирования? Ответ, на первый взгляд, очевиден. Для того, чтобы проектировать. И это правда. Но я сейчас предложу менее очевидный вариант ответа, который, на мой взгляд, даже более важен, чем разработка хорошей архитектуры. Знание паттернов требуется программистам для общения. Продемонстрируем это на простом примере.
Сравните два разных диалога:
— Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате. — Ок, давайте добавим класс для каждого типа купюр и сделаем так, чтобы они по цепочке обрабатывали запрос на снятие денег, передавая остаток, который не могут обработать дальше по цепочке. А чтобы посчитать остаток в автомате, добавим специальный класс, который позволит перемещаться по цепочке и складывать остатки в каждой ячейке. — Э-э... Не понял, объясните пожалуйста.
Или:
— Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.
— Ок, давайте используем
А вам какой диалог понятнее? Пожалуй, ответ очевиден. Тем не менее, ждём ваших комментариев!