Разница между основами ООП и SOLID?
Я знаю OOP (объектно-ориентированное программирование) и SOLID.
- Основы ООП
- Герметизация
- Абстракция
- Наследование
- Полиморфизм
и
- SOLID
- Принцип единой ответственности
- Открытый/Закрытый принцип
- Принцип замены Лискова
- Принцип сегрегации интерфейса
- Принцип инверсии зависимостей)
Однако я не уверен, что такое точные различия, и если SOLID является подмножеством ООП. Может ли кто-нибудь помочь объяснить различия?
Ответы
Ответ 1
ответ прост:
- Языки или понятия, которые не поддерживают инкапсуляцию, абстракцию, наследование и Poly, не являются объектно-ориентированными. Если вы делаете что-то объектно-ориентированное, вы всегда можете применить эти основы OO, потому что они доступны. Такие принципы не называются.
- SOLID взамен не является обязательным. При разработке дизайна OO вы должны стремиться к SOLID, применяя основные основы. Solid определяет только "хороший" дизайн, а не объектно-ориентированный или нет. Это принципы.
PS: Я не понимаю ниспроверки вашего вопроса, так как он легитимный, на него можно ответить четко и запутать многих новичков OO. Продвиньтесь от меня.
Ответ 2
Объектно-ориентированное программирование - это форма программирования, основанная на идее "объектов". Закругленные фрагменты кода, описывающие свойства (ширина, время, положение...) и поведение (изменение ширины, время отображения, расчет позиции...) требуемых объектов, которые работают вместе для решения конкретной проблемы. SOLID - это набор принципов, которые помогут вам разработать решение для конкретной проблемы в объектно-ориентированной области. Подумайте об этом как о наборе правил, который поможет вам визуализировать наиболее правильный способ решения проблемы.