Статьи



SOLID - Просто о D - Принцип инверсии зависимостей

SOLID - Просто о D - Принцип инверсии зависимостей
Depend on abstractions, not on concretions. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от...
Посмотреть всю статью

Depend on abstractions, not on concretions.

  • Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций.
  • Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Что такое модули верхних уровней? Как определить этот уровень? Как оказалось, все очень просто. Чем ближе модуль к вводу/выводу, тем ниже уровень модуля. Т.е. модули, работающие с BD, интерфейсом пользователя, низкого уровня. А модули, реализующие бизнес-логику — высокого уровня.


Что такое зависимость модулей? Это ссылка на модуль в исходном коде, т.е. import, require и т.п. С помощью динамического полиморфизма в runtime можно обратить эту зависимость.

Источник

Показать только превью
Оставить комментарий




Шаблоны GRASP, GoF, антипаттерны, рефакторинг

Шаблоны GRASP, GoF, антипаттерны, рефакторинг
Полный курс "Шаблоны разработки программного обеспечения" (ссылка на плейлист). Шаблоны GRASP, GoF, антипаттерны, рефакторинг Все материалы курса лекций (включая...
Посмотреть всю статью

Полный курс "Шаблоны разработки программного обеспечения" (ссылка на плейлист). Шаблоны GRASP, GoF, антипаттерны, рефакторинг Все материалы курса лекций (включая конспект лекций) на канале автора SlideShare

От себя. Я просмотрел пока что только 4 лекции но уже чувствую уверенность в тех знаниях что я уже приобрел. Однозначно подача хорошая, не занудная. Автор видно что не только знает предметнуб область но и любит в ней докапываться до "что, где, когда и почему". 

Однозначно рекомендую всем кто желает углубить свои знания в области ПРАВИЛЬНОГО проектирования систем(бизнес логики). Великолепный курс! Спасибо автору за то что предоставляет её бесплатно на своём  Youtube канале. Уверен что там есть ещё много чего полезного.

Показать только превью
Оставить комментарий




TDD и почему нам это важно! Дядя Боб (Robert C. Martin)

TDD и почему нам это важно! Дядя Боб (Robert C. Martin)
Признаюсь, я не хотел внедрять TDD потому что было ленно писать код "который ничего не создаёт и не делает". Но философия дяди Боб-а мне очень понравилась. Как...
Посмотреть всю статью

Признаюсь, я не хотел внедрять TDD потому что было ленно писать код "который ничего не создаёт и не делает". Но философия дяди Боб-а мне очень понравилась. Как говорилось у Карлоса Кастанеды :

"Вещи не меняются, меняется лишь наш взгляд на них."

С сегодняшнего дня я начну внедрять ТDD в свои проекты. Хоть дядя Боб и говорит что внедрение тестов в уже написанный код "безумие не стоящее и гроша" я сделаю это, скажем так - для общего развития. Начну с последнего проекта "Conversation App".

Рекомендую всем посмотреть видео ниже. Если вы сомневаетесь в пользе тестов и существующие аргументы вас не убеждают, Дядя Боб поможет вам взглянуть на это по другому, да так, что вам придётся уже искать причину не следовать TDD (сразу предупрежу, лень - это не причина). Ну и попутно вы узнаете интересное про архитектуры, и особенности архитектур приложений.

Смотрим видео.

Показать только превью
Оставить комментарий