(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Паттерны проектирования

В программировании есть такое, нынче не модное понятие - паттерны проектирования. Это - стандартные подходы к решению типовых задач.

Для написания хорошо работающего кода эти знания в принципе не нужны, но и чисто понтами их назвать нельзя. Ближайшая аналогия из не-IT мира - единообразие в оформлении технической и конструкторской документации. Можно конечно изобрести свою структуру документа, написать все каким-нибудь дизайнерским шрифтом, но скорее всего, читатели такого не оценят.

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

Простейший пример паттерна - фасад. Предположим, есть у нас база данных ФСИН, хранящая массу занимательной информации и нам нужно сделать сервис для проверки наличия непогашенных судимостей.

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

Чтобы выбрать такое очевидное решение, знать о паттернах конечно же не нужно, но случаи бывают разные. Например, при обсуждении каких-то  решений сильно упрощается жизнь.

Можно косноязычно распинаться 15 минут, описывая своё гениальное предложение перед коллегами, а можно предложить: "давайте используем такой-то паттерн?" Отдельным бонусом идет облегчение взаимодействия в интернациональной команде: уровень языка у всех разный, кому-то тяжело долго говорить, кому-то - воспринимать информацию на слух. Но ''use abstract factory'' поймут все квалифицированные программисты вне зависимости от знания английского.

К сожалению, давать паттерны в вузах, да и просто изучать в теории практически бесполезно. Я ещё не видел ни одного доходчивого описания сложных паттернов. Намного лучше, когда по твоему коду тебе говорят: о, да ты тут почти реализовал такой-то паттерн, такое запоминается намертво.
...



 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Дискуссии и обсуждения общего плана »
Написать редактору 
 Рекомендовать » Дата публикации: 15.06.2020 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Panda Gold Protection - ESD версия - на 1 устройство - (лицензия на 1 год)
ABViewer Professional пользовательская
DeviceLock Endpoint DLP Suite - от 1 ПК до 24 ПК
Avira Internet Security Suite, 1 ПК, 1 год
Allround Automation PL/SQL Developer - Annual Service Contract - 5 users
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Компьютерный дизайн - Все графические редакторы
СУБД Oracle "с нуля"
Мастерская программиста
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Разработка программ базы данных (50)
Написание прикладных компьютерных программ (базы данных) на заказ. Разработка корпоративных...
 
Как выбрать матрас (5)
Подскажите как правильно выбрать матрас и на что в целом следует обратить внимание на ваш...
 
работа на дому! (7)
Доброго времени суток дорогие друзья. Многоуровневый маркетинг окончательно признан...
 
Актуальные зеркала букмекерских контор (4)
Бетторы не всегда доверяют зеркалам БК, а зря, потому что эти «запасные аэродромы» запускают...
 
Ставки на спорт через зеркало БК Пинакл (1)
Актуальное зеркало букмекерской конторы Пинакл https://superbet.guru/pinacle-mirror/ всегда...
 
 
 



    
rambler's top100 Rambler's Top100