Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «depends»
DI, PHPUnit и setUp 2016-02-24 18:47:07
Инверсия зависимостей ( Dependency Injection) — весьма приятная ...
+ развернуть текст сохранённая копия
Инверсия зависимостей (Dependency Injection) — весьма приятная вещь, во многом облегчающая жизнь разработчику. Но она же и является причиной появления таких вот конструкторов:
public function __construct(
\Psr\Log\LoggerInterface $logger,
\Zend_Db_Adapter_Pdo_Abstract $dba,
ISomeService $service,
...
) {
$this->_logger = $logger;
$this->_dba = $dba;
$this->_service = $service;
...
}
Использование setUp() в unit-тестах может существенно облегчить жизнь, если нужно несколько раз создать один и тот же набор mock'ов для тестирования различных особенностей реализации разрабатываемого класса.
Читать дальше →
Тэги: dependency, development, driven, injection, php, phpunit, test
Готовим ASP.NET5, выпуск №3 — внедрение зависимостей по-новому 2015-08-12 10:47:14
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Виктора Коцюбана ( ...
+ развернуть текст сохранённая копия
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Виктора Коцюбана ( Gbdrm) — Technical Leader из SoftServe. В этой статье Виктор поделится с вами подробностями нового встроенного функционала внедрений зависимостей в ASP.NET5. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев Внедрение зависимости – одна из самых популярных и используемых форм инверсии управления, важного принципа ООП, что позволяет уменьшить сцепление (coupling) – взаимозависимость, взаимосвязанность модулей.
Во многих современных фреймворках внедрение зависимости уже является частью самого фреймворка. Это является большим плюсом, так как у разработчиков появляется встроенная возможность создания компонент, разрешение зависимостей и предоставление их другим компонентам по запросу, при чем происходит это внутри самой программной платформы. Кроме того, внедрение зависимостей является одним из базовых принципов работы с платформой, незнание которых может привести к не эффективному использованию фреймворка написанию говнокода.
В ASP.NET 5 встроена возможность внедрения зависимости. Что она позволяет и чем выделяется среди других таких подходов рассмотрим ниже. А также попробуем использовать ее на практике.
Читать дальше →
Тэги: #aspnetcolumn, .net, asp, asp.net, asp.net5, dependency, injection, microsoft, studio, visual, блог, веб-разработка, внедрение, зависимостей, компании
[Перевод] Киски: Рефакторинг. Часть вторая или лечение зависимостей 2015-07-22 15:00:42
+ развернуть текст сохранённая копия
Этот перевод является продолжением цикла статей про рефакторинг от Matthias Noback.
Мир не так надежен, чтобы на него опираться
Во время юнит тестирования нет необходимости в том, чтобы внешняя среда была вовлечена в сам процесс тестирования. Выполняя реальные запросы к базе данных, HTTP запросы или же запись в файлы, вы замедляете тесты, так как эти операции непредсказуемы. Например, если сервер, к которому вы совершаете запросы во время тестирования упал или же ответил не лучшим образом — юнит тест упадет даже в том случае, если все остальное работает верно. Это плохо, так как юнит тесты должны падать только тогда, когда код выполняет что-то, чего он делать не должен.
Как можно было заметить в прошлой статье, оба класса (CachedCatApi и RealCatApi) зависят от внешних факторов. Первый из них записывает файлы в файловую систему, второй — делает реальные HTTP запросы, в то время как эти моменты довольно низкоуровневые и для них не используются правильные инструменты. Более того, в этих классах не учитывается большое количество пограничных случаев.
Оба класса могут быть лишены подобных зависимостей и для этого достаточно того, чтобы новые классы инкапсулировали все эти низкоуровневые детали. Например, мы запросто можем убрать вызов file_get_contents() в другой класс с названием FileGetContentsHttpClient.
class FileGetContentsHttpClient
{
public function get($url)
{
return @file_get_contents($url);
}
}
Читать дальше →
Тэги: dependency, injection, matthias, noback, php, refactoring, зависимостей, киски, кисок, клиент, лечение, программирование, проектирование, рефакторинг
[Из песочницы] Почему Doctrine ORM плохо подходит для PHP 2015-06-04 11:34:27
Статья является переводом заметки Why Doctrine ORM is not suited for PHP от Lucas Corbeaux ...
+ развернуть текст сохранённая копия
Статья является переводом заметки Why Doctrine ORM is not suited for PHP от Lucas Corbeaux.
Я знаю, что заголовок этой статьи похож на троллинг. Но это не так, это просто констатация факта. Я не пытаюсь сказать, что Doctrine — это плохая библиотека или что её не нужно использовать. Я просто говорю, что она плохо подходит для PHP, и если не принимать этот момент во внимание и использовать её неправильно, можно столкнуться с серьёзными проблемами.
Читать дальше →
Тэги: dependency, doctrine, entity, hibernate, injection, lazy, load, manager, orm, php, unit, work
Inversion of Control: Методы реализации с примерами на PHP 2014-11-29 15:40:26
О боже, ещё один пост о Inversion of Control
Каждый более- ...
+ развернуть текст сохранённая копия
О боже, ещё один пост о Inversion of Control
Каждый более-менее опытный программист встречал в своей практике словосочетание Инверсия управления (Inversion of Control). Но зачастую не все до конца понимают, что оно значит, не говоря уже о том, как правильно это реализовать. Надеюсь, пост будет полезен тем, кто начинает знакомится с инверсией управления и несколько запутался.
Читать дальше →
Тэги: architecture, control, dependency, injection, inversion, ioc, laravel, php, software, symfony, yii, зависимостей, инверсия, программирование, проектирование, рефакторинг
Страницы: 1 2 3 4 5 6 7 8 9 10
Главная / Главные темы / Тэг «depends»
|
Взлеты Топ 5
Падения Топ 5
|