Твердые принципы программного обеспечения, впервые представленные Робертом К. Мартином, - это набор принципов программного обеспечения, которые делают код гибким, легко разрабатываемым и сводят к минимуму такие проблемы, как переполненность кода, которая является одной из самых больших проблем.
Класс может иметь только одну ответственность и не должен выполнять более одной различной работы. Если вы хотите добавить классу новую ответственность, следует изменить основную ответственность класса.
Класс, который мы определяем, должен быть закрыт для изменений и открыт для развития, то есть он может получить новые возможности, но не может быть изменен от начала до конца. Причина этого заключается в том, что если мы изменим существующие возможности, то в больших проектах возникнут проблемы. Изменение кода может нарушить другие коды, которые зависят от него, и нам может понадобиться изменить весь код.
Не внося никаких изменений в написанный нами код, подкласс(ы) должен иметь возможность использовать свойства верхнего класса(ов), от которого они наследуются. Если раскрыть немного больше, то в суперклассе(ах) не должны определяться неиспользуемые ненужные методы, которые не полезны для подклассов, и должна быть предотвращена переполненность кода.
При определении интерфейсов вместо того, чтобы определять методы, выполняющие различные операции в рамках одного интерфейса, следует определять интерфейсы в соответствии с выполняемой операцией. Таким образом, нам не придется использовать методы, выполняющие различные операции для классов, которые мы реализуем, и мы избежим ненужного повторения кода.
Зависимости классов, которые мы определяем, должны быть низкими, особенно низкими должны быть зависимости классов верхнего уровня от классов нижнего уровня. Таким образом, когда мы хотим исправить класс, другие связанные классы не будут затронуты.
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.