Всем привет! У нас наконец-то есть контракт на обновление книги Марка Симана».
NET - главное, чтобы он это закончил как можно скорее.
А еще у нас в редакторе есть книга уважаемый Динеш Раджпут о шаблонах проектирования в Spring 5, где одна из глав также посвящена внедрению зависимостей.
Мы долго искали интересный материал, который напомнил бы нам о сильных сторонах DI-парадигмы и объяснил наш интерес к ней — и вот мы его нашли.
Правда, автор предпочитал приводить примеры на языке Go. Надеемся, это не помешает вам проследить ход его мыслей и поможет понять общие принципы инверсии управления и работы с интерфейсами, если эта тема вам близка.
«Эмоциональная окраска оригинала несколько успокоена, уменьшено количество восклицательных знаков в переводе.
Наслаждайся чтением! Применение интерфейсы — понятная методика, позволяющая создавать тестируемый и легко расширяемый код. Я неоднократно убеждался, что это самый мощный инструмент архитектурного проектирования, который существует. Цель этой статьи — объяснить, что такое интерфейсы, как они используются и как они делают код расширяемым и тестируемым.
Наконец, статья должна показать, как интерфейсы могут помочь оптимизировать управление доставкой программного обеспечения и упростить планирование! Интерфейсы Интерфейс описывает контракт. В зависимости от языка или платформы использование интерфейсов может быть продиктовано явно или неявно.
Итак, на языке Go интерфейсы продиктованы явно .
Если вы попытаетесь использовать сущность в качестве интерфейса, но она не полностью соответствует правилам этого интерфейса, произойдет ошибка времени компиляции.
Например, запустив приведенный выше пример, мы получаем следующую ошибку:
Теги: #архитектура #Go #Профессиональная литература #проектирование и рефакторинг #внедрение зависимостей #чистый код #дизайн интерфейсов #паттерны проектированияprog.go:22:85: cannot use BadPricer literal (type BadPricer) as type StockPricer in argument to isPricerHigherThan100:
-
Матезиус, Вилем
19 Oct, 24 -
2Гис Для Андроид
19 Oct, 24