Ша - шаблон проектирования

Mar 9, 02:02 am Категория:

Две вещи я не понимаю в этом мире: как можно делать бестолковые тестовые задания и как можно не понимать, что нельзя давать делать бестолковые тестовые задания. Учить новый язык или новый фреймворк можно по-разному, но для получения какого-либо вменяемого результата следует делать не “надувной” проект из учебника, а нормальный боевой сайт. В случае с Laravel можно переводить сайты с TxP на новую платформу. При этом, разумеется, новые сайты могут иметь старый внешний вид, структуру и что-нибудь ещё, но спроектированы и реализованы в соответствии с новой парадигмой.

Шаблон проектирования (design pattern) – всего-лишь два слова в заголовке поста, но гигантский шаг в истории PHP. До 5-й версии, точнее до 5.3, ООП в PHP являлось пятой ногой, рыбьим зонтиком и мёртвому припаркой. Служило это объектное ориентирование чаще поводом для насмешек особенно ярых апологетов Java и Ц-потомков (C++, C# и т.п.). Но языки программирования, как коммерческий автотранспорт, выбираются не водителями, а профессионалы должны водить то, что есть. И кодить на чём придётся. Ввиду популярности PHP, в разработку на нём стали попадать профессионалы. Они и привнесли в пых-культуру элементы грамотного программирования. Если переводить сайтостроение с CMS на более другие рельсы, то лучше начать с освоения best practice.

Считается, что начинать знакомство с объектноориентированным программированием нужно с чтения соответствующей литературы. Например, с GoF, классического труда по ООП, который каждый разработчик должен прочесть для того, чтобы понять, что он ничего не понимает в программировании. Особенно, если поле битвы – веб. Хардкорные программисты вообще не считают сайты чем-либо заслуживающим внимания. Если только почитать про нормальное программирование и порнуху посмотреть. Не буду ввязываться в заведомо нескончаемый спор и прекращу его с помощью 3-х букв. И буквы эти, MVC – Model-View-Controller. Каркас или даже парадигма проектирования, включающая сразу несколько шаблонов и ускорение в нужном направлении. Перспективу, так сказать.

Если лень читать про эти самые Model, View и Controller, то коротенько:

  • Model – модель, это данные и бизнес-логика;
  • View – представление, это отображение пользователю того, чего он достоин;
  • Controller – контроллер, это диспетчер, который и решает, чего пользователь достоин.

Всё понятно? Ну и хорошо. Теперь, на основе данного нам в ощущение Текстпаттерна, можно наметить план:

  1. спроектировать новую базу данных;
  2. создать модели для обслуживания базы;
  3. заполнить роутер соответствующими маршрутами;
  4. создать контроллеры;
  5. сдеать blade представления.

После этого пишется конвертер, переносящий данные из оригинальной базы в новую и мы получаем новый сайт. В чём выигрыш? Да хотя бы в том, что при желанни сайт впоследствии переносится на “рельсы” или любую другую платформу и язык малой кровью.

Теги этой статьи: , ,

 

Комментарии

2017-06-27 2:18 am , Оставь комментарий