В этой статье автор высказывает личное мнение, сформулированное на основе его собственного опыта и вкуса. Поэтому просьба не обижаться, если вы с ним не согласны. Конечно, оно может быть ошибочным – но это и стоит обсудить.
Рубрика «solid» - 2
SOLID – это не правила, а гайдлайны
2022-05-02 в 9:26, admin, рубрики: C#, di, KISS, solid, YAGNI, Блог компании Издательский дом «Питер», интерфейсы, ооп, Программирование, Проектирование и рефакторинг, Совершенный код, чистый кодКак мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок
2022-01-05 в 12:33, admin, рубрики: KISS, solid, YAGNI, абстракции, Блог компании М.Видео-Эльдорадо, мвидео, преждевременная оптимизация, Серверная оптимизация, Совершенный код, управление разработкой, шаблоны проектирования, ЭльдорадоОптимизация кода и развитие микросервисной архитектуры занимает значительную часть жизни команды разработчиков МВидео-Эльдорадо. Тем любопытней изучить опыт коллег за рубежом. Предлагаем вашему вниманию очередной пост на тему: «А как там у них». Читать полностью »
Актуальность принципов SOLID
2021-06-05 в 19:00, admin, рубрики: solid, архитектура, архитектурные паттерны, принципы проектирования, Программирование, проектирование, Проектирование и рефакторинг, рефакторинг, Роберт Мартин, Совершенный кодВпервые принципы SOLID были представлены в 2000 году в статье Design Principles and Design Patterns Роберта Мартина, также известного как Дядюшка Боб.
С тех пор прошло два десятилетия. Возникает вопрос - релевантны ли эти принципы до сих пор?
Перед вами перевод статьи Дядюшки Боба, опубликованной в октябре 2020 года, в которой он рассуждает об актуальности принципов SOLID для современной разработки.
Недавно я получил письмо с примерно следующими соображениями:
0x7E5 Рассуждения о главном
2021-03-19 в 14:30, admin, рубрики: KISS, solid, Программирование, разработка, разработка мобильных приложений, Разработка под androidО себе
Приветствую всех. Меня зовут Вячеслав, работаю в IT 11 лет в направлении Android. Трогал и гладил динозавров в лице Android 1.5 и 1.6, прошел все этапы становления MVP MVVM Retrofit и многих других библиотек. Смотрел на свой старый код как на кучу г... много раз и все еще продолжаю изучать новое и развиваться. Мне удалось выучить не один десяток, не побоюсь этого слова, “сильных” ребят, с хорошим потенциалом и головой на плечах, в процессе обучения были сформированы правила и рекомендации, которыми я и хочу поделиться.
О статье
Архитектурный паттерн Dependency Injection в React-приложении
2021-02-03 в 9:16, admin, рубрики: di, inversifyjs, ioc, javascript, React, ReactJS, solid, TypeScript, Блог компании Tinkoff, Проектирование и рефакторинг, Разработка веб-сайтовРасшифровка доклада Сергея Нестерова с конференции FrontendLive 2020.
Принципы SOLID в картинках
2020-06-05 в 7:26, admin, рубрики: solid, Блог компании Цифровые Экосистемы, объектно-ориентированное по, принципы разработки, Совершенный код
Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.
В Сети множество отличных статей, где рассказывается о принципах SOLID, но иллюстрированных среди них мне практически не попадалось. Из-за этого таким людям со склонностью к визуальному восприятию информации – таким, как я – бывает сложно схватывать суть и не отвлекаться.
Основная цель этой статьи – лучше усвоить принципы SOLID через отрисовку иллюстраций, а также определить назначение каждого принципа. Дело в том, что некоторые из принципов кажутся похожими, но функции выполняют разные. Может получиться так, что одному принципу следуешь, а другой при этом нарушаешь, хотя с виду особой разницы между ними нет.
Чтобы проще читалось, я упоминаю здесь только классы, однако всё сказанное в статье применимо также к функциям, методам и модулям, так что имейте это в виду.
Ну, приступим.
Читать полностью »
Принцип подстановки Лисков
2020-03-02 в 15:18, admin, рубрики: java, solid, Анализ и проектирование систем, Блог компании Tinkoff.ru, код, ооп, перевод, Программирование, проектирование, Совершенный кодВсем привет, меня зовут Константин. Я занимаюсь разработкой на Java в Tinkoff.ru и люблю SOLID. В этой статье мы сформулируем принцип подстановки Лисков, покажем его связь с принципом Открытости-Закрытости, узнаем, как правильно формировать иерархию наследования и ответим на философский вопрос о том, является ли квадрат прямоугольником.
Принцип единственной ответственности: глубокое погружение
2020-02-16 в 14:24, admin, рубрики: solid, srp, Анализ и проектирование систем, архитектура по, ооп, Программирование, Проектирование и рефакторингПро принцип единственной ответственности (The Single Responsibility Principle, SRP) уже было написано множество статей. В большинстве из них даётся лишь поверхностное его описание мало чем отличающееся от информации в википедии. А те немногие статьи что затрагивают ключевые особенности SRP делают это вскользь, не акцентируя на них внимания и не развивая тему дальше.
Эта статья — попытка дать более глубокое объяснение принципу единственной ответственности, а также показать как его всё таки можно применять на практике. Кому интересно — добро пожаловать под кат.Читать полностью »
Пишем redux по SOLID
2019-11-10 в 9:33, admin, рубрики: javascript, React, ReactJS, redux, solid, ооп, полиморфизмВ данном посте мы коснемся написания action'ов и reducer'а. Для начала рассмотрим типичный 'flow', в котором мы выполняем следующие операции (далее переработаем все так, чтобы наш код отвечал принципам SOLID).
Читать полностью »
Привет! Перед вами перевод статьи Роберта Мартина Open-Closed Principle, которую он опубликовал в январе 1996 года. Статья, мягко говоря, не самая свежая. Но в рунете статьи дяди Боба про SOLID пересказывают только в урезанном виде, поэтому я подумал, что полный перевод лишним не будет.
⌘ ⌘ ⌘
Я решил начать с буквы O, так как принцип открытости-закрытости, по сути, является центральным. Среди прочего тут есть много важных тонкостей, на которые стоит обратить внимание:
- Ни одну программу нельзя «закрыть» на 100%.
- Объектно-ориентированное программирование (ООП) оперирует не физическими объектами реального мира, а понятиями — например, понятием «упорядочивание».