HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: java se, паттерны проектирования, программирование на java, разработка на java</p>
1 <p>Теги: java se, паттерны проектирования, программирование на java, разработка на java</p>
2 <p>Для чего программисту нужны<strong>паттерны проектирования</strong>? Ответ, на первый взгляд, очевиден. Для того, чтобы проектировать. И это правда. Но я сейчас предложу менее очевидный вариант ответа, который, на мой взгляд, даже более важен, чем разработка хорошей архитектуры.<strong>Знание паттернов</strong>требуется программистам<strong>для общения</strong>. Продемонстрируем это на простом примере.</p>
2 <p>Для чего программисту нужны<strong>паттерны проектирования</strong>? Ответ, на первый взгляд, очевиден. Для того, чтобы проектировать. И это правда. Но я сейчас предложу менее очевидный вариант ответа, который, на мой взгляд, даже более важен, чем разработка хорошей архитектуры.<strong>Знание паттернов</strong>требуется программистам<strong>для общения</strong>. Продемонстрируем это на простом примере.</p>
3 <h2>Сравните два разных диалога:</h2>
3 <h2>Сравните два разных диалога:</h2>
4 <p><em>- Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.</em><em>- Ок, давайте добавим класс для каждого типа купюр и сделаем так, чтобы они по цепочке обрабатывали запрос на снятие денег, передавая остаток, который не могут обработать дальше по цепочке. А чтобы посчитать остаток в автомате, добавим специальный класс, который позволит перемещаться по цепочке и складывать остатки в каждой ячейке.</em><em>- Э-э... Не понял, объясните пожалуйста.</em></p>
4 <p><em>- Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.</em><em>- Ок, давайте добавим класс для каждого типа купюр и сделаем так, чтобы они по цепочке обрабатывали запрос на снятие денег, передавая остаток, который не могут обработать дальше по цепочке. А чтобы посчитать остаток в автомате, добавим специальный класс, который позволит перемещаться по цепочке и складывать остатки в каждой ячейке.</em><em>- Э-э... Не понял, объясните пожалуйста.</em></p>
5 <p><strong>Или:</strong><em>- Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.</em><em>- Ок, давайте используем Chain-of-responsibility для снятия и Iterator для остатков.</em><em>- Всё понятно, делайте.</em></p>
5 <p><strong>Или:</strong><em>- Нам нужно разработать софт для АТМ. Чтобы можно было снимать деньги разного номинала и проверять баланс остатков в автомате.</em><em>- Ок, давайте используем Chain-of-responsibility для снятия и Iterator для остатков.</em><em>- Всё понятно, делайте.</em></p>
6 <p>А вам какой диалог понятнее? Пожалуй, ответ очевиден. Тем не менее, ждём ваших комментариев!</p>
6 <p>А вам какой диалог понятнее? Пожалуй, ответ очевиден. Тем не менее, ждём ваших комментариев!</p>
7  
7