[Из песочницы] Syringe — декларативный IoC Container на PHP
2014-07-15 13:05:46
Инверсия управления (Inversion of Control) — важный принцип объектно-ориентированного ...
+ развернуть текст сохранённая копия
Инверсия управления (Inversion of Control) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах (“Википедия”).
Простой как Pimple, мощный как Symfony DI
Syringe — простой IoC Container написанный на PHP с большим количеством возможностей и декларативной конфигурацией.
В нем реализованы: внедрение параметров, фабричные методы, основные виды инъекций, в том числе и через интерфейс, области видимости, внедрение тега и триггеры.
Далее возможности расписаны более подробно.
Читать дальше →
Тэги:
ioc,
php,
ооп
Классы и фабрики. Как разобрать и собрать объект с наследованием на прототипах
2014-06-16 12:14:49
Привет, Хабра!
При разработке игр на JavaScript часто возникает необходимость создавать ...
+ развернуть текст сохранённая копия
Привет, Хабра!
При разработке игр на JavaScript часто возникает необходимость создавать множество объектов. О том, как правильно это сделать и не утонуть в коде, я рассказывал, примерно — месяц назад на Frontend Dev Conf в Минске. Возможно, доклад будет интересен тем, кто не был на конференции и сталкивался с проблемой создания множества объектов, либо является разработчиком HTML5 игр.
Под катом текст с картинками.
Читать дальше →
Тэги:
gamedev,
html5,
i-free,
javascript,
блог,
веб-разработка,
компании,
ооп
jWidget — объектно-ориентированный JavaScript MV* framework
2014-04-21 14:39:01
Есть замечательный сайт http://todomvc.com/, на котором демонстрируется решение одной и той же ...
+ развернуть текст сохранённая копия
Есть замечательный сайт http://todomvc.com/, на котором демонстрируется решение одной и той же задачи с помощью разных JavaScript MV* (Model-View-[Controller]) фреймворков. Сейчас там представлены десятки различных фреймворков, у каждого из которых есть свои преимущества и недостатки. Есть там и такие гиганты, как Angular, Ember и Backbone. Несмотря на высокую конкуренцию, я все равно хотел бы продемонстрировать свой MV* фреймворк — jWidget.
Я быстро просмотрел все решения, представленные на сайте TodoMVC, и не нашел ни одного фреймворка, похожего на jWidget. Дело в том, что, помимо JavaScript, я много программирую на объектно-ориентированных языках программирования, таких как Java, C#, а в прошлом и на C++. Поэтому я большой фанат объектно-ориентированного программирования, SOLID принципов и паттернов объектно-ориентированного проектирования. Мне не нужен фреймворк, который стеснял бы меня в возможности применения стандартных объектно-ориентированных решений. То, что я увидел в существующих решениях TodoMVC, не внушает доверия в этом отношении. Как правило, они предоставляют некий декларативный синтаксис и мощный шаблонный движок, но объектно-ориентированная основа всего этого, даже если она существует, скрыта от наших глаз.
Читать дальше →
Тэги:
javascript,
mvc,
todomvc,
веб-разработка,
ооп,
фреймфорк
[Из песочницы] [PHP] Принцип открытости/закрытости кода и какие трудности могут встать на пути
2014-03-12 16:40:06
... дизайна классов в
ООП. Одни из них ...
+ развернуть текст сохранённая копия
На хабре не раз поднимался вопрос важности SOLID, в частности принцип открытости/закрытости кода. В данном посте я расскажу как реализовать его на PHP и через какие испытания прийдётся пройти.
Что это такое?
SOLID — это совокупность пяти основных принципов дизайна классов в ООП. Одни из них и является принцип открытости/закрытости кода. Он гласит, что программные сущности должны быть открыты для расширения, но закрыты для изменения.
Читать дальше →
Тэги:
open-closed,
php,
solid,
веб-разработка,
ооп
Шаблоны проектирования PHP. Часть 1. Порождающие
2014-03-10 11:48:28
Тема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, ...
+ развернуть текст сохранённая копия
Тема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…
Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат. Меня заинтересовала...
Тэги:
php,
ооп,
порождающие,
проектирования,
шаблоны
Страницы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20