Рубрика «patterns» - 5

Введение

В этой статье я расскажу про Data Dependency шаблон реализации компонентов в условиях Dependency Injection. В примерах буду использовать язык C# и Unity.
Начнем с описания ситуации, в которой Dependency Injection оказывается недостаточно, и возникает потребность прибегнуть к Data Injection.
Читать полностью »

Приветствие

Всем привет! В этот радостный и, достаточно, теплый пятничный денек приключилась у меня (процитирую в более приятном варианте) «рука-лицо». Честно говоря, приключается сие действие достаточно часто, но, по обыкновению, вызывается оно от ощущения:

Боже, какой же я тупой.

В этот раз меня посетило несколько другое чувство, и, как я убедился, не только меня. Чувство это напомнило мне об одном из моих собеседований, где меня попросили написать скелет паттерна «Декоратор», который оказался в личном представлении интервьювера совершенно другим, нежели его классическое толкование.Читать полностью »

В этой статье хочу рассказать о своем методе реализации шаблона проектирования “Registry“ на PHP. Если кратко о шаблоне — это алгоритм, с помощью которого можно хранить переменные в одном месте. Про этот шаблон можно почитать, например, здесь. От себя же хочу добавить, что этот шаблон очень хорошо идет в связке с шаблоном “Facade“.
Читать полностью »

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

В последующем тексте мы рассмотрим вариант абстракции над HTML кодом, который упрощает разработку и поддержку похожим принципом, благодаря слабым связям и модульности. Такой подход успешно используется автором в двух долгосрочных проектах, один из которых — сервис интернет-банкинга.
Читать полностью »

thoughtbot (с маленькой буквы) — одна из ведущих американских консалтинговых фирм, ориентированных на веб разработку с помощью Ruby on Rails. thoughtbot эксплуатирует распространенную в этой среде бизнес-модель, и зарабатывает не только за счет консалтинга, но и за счет своих больших вкладов в Open Source, активного участия в жизни сообщества (например, подкаст Giant Robots Smashing into Other Giant Robots), образовательной деятельности (воркшопы, менторство), внутренних продуктов и литературы.

На их счету до сегодняшнего дня числилось две полноценных книги: The Playbook — исчерпывающий справочник по внутреннему распорядку и трудовым хитростям thoughtbot (бесплатна для изучения на их сайте), и Backbone.js on Rails — не менее исчерпывающее руководство по использованию JS фреймворка Backbone вместе с Ruby on Rails.

Интересна особенность их подхода к публикации книг. Это не статичный труд, написанный однажды, напечатанный на бумаге и устаревающий с годами, а продукт, поддерживающий версионность, развивающийся под влиянием читателей и сопровождающийся различными электронными плюшками, в том числе и готовым к использованию кодом примеров. «Исходники» книги хранятся на github, а это значит, что в любой момент читатель имеет возможность получить самый свежий релиз, сообщить о проблеме, обсудить какую-либо часть текста и т.п.

Сегодня они объявили о начале работы над новой книгой, под названием «Ruby Science. The reference for writing fantastic Rails applications». Более того, начать чтение книги и принять участие в её развитии можно уже сейчас.
Ruby Science: руководство по созданию качественных приложений на Ruby on Rails от thoughtbot
Читать полностью »

Хорошие новости! Новая панель администрирования Windows Azure на базе HTML5 постоянно совершенствуется и сегодня в ней были добавлены функции управления сервисной шиной Service Bus.

image

Пользователи могут создавать новые элементы сервисов Windows Azure Service Bus, такие как очереди, темы и подписки, новые пространства имен.
Читать полностью »

mv-patterns
В Интернет можно найти множество различающихся реализаций и схем, уже набившего оскомину, паттерна MVC. В разных книгах я также встречал разные схемы. Это порождает некоторую путаницу и комментарии к моей предыдущей статье: "Реализация MVC паттерна на примере создания сайта-визитки на PHP" тому подтверждение. В поисках истины, я попытался расставить все по местам… перечитал некоторую литературу и статьи по паттернам проектирования и написал дополнение к упомянутой статье. Но решил запостить это дополнение, как отдельный топик в надежде на фидбэк. Под катом вы найдете несколько часто встречающихся схем MVC и MVP с описанием жизненного цикла приложения, а также описание менее популярных паттернов HMVC, MVVM и схемы AMD (Asynchronous Module Definition), которая актуальна для клиент-сайд приложений. Разумеется, некоторые из перечисленных паттернов применимы не только к веб-приложениям, но в статье они рассматриваются именно в этом контексте.
Читать полностью »

MVC феноменальная идея. У вас есть модели, которые самостоятельные кусочки состояний, представления которые самостоятельные кусочки UI, и контроллеры которые самостоятельные кусочки…

Что?

Я конечно не первый кто это замечает, но проблема с MVC как данность, в том что вы пихаете слишком много кода в контроллеры.

Чтобы исправить это, я использую новый паттерн: MOVE. Models, Operations, Views и Events.
Читать полностью »

Введение

«Наблюдатель» (observer) – один из часто используемых шаблонов (паттернов) проектирования. Также известен как «подчинённые» (dependents) и «издатель-подписчик» (publisher-subscriber). Определяет зависимость типа «один ко многим» между объектами таким образом, что при возникновении некоторого события в одном из объектов, все объекты, подписавшиеся на оповещения об этом событии, извещаются о его возникновении.

Читать полностью »

Введение

На определенной стадии изучения серверного программирования мне захотелось написать свой простенький фреймворк. Я рассчитывал, что это поможет более глубоко понять идеологию MVC и Zend Framework в частности. Когда дело дошло до части представления и генерации html я вспомнил о паттерне Компоновщик (Composite pattern). Возможно я несколько исказил его применение, но мысль пошла оттуда.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js