Что такое принципы SOLID?

Middle+
1.2k просмотров
AFK Offer AI

SOLID — пять принципов объектно-ориентированного дизайна. S (Single Responsibility) — у класса одна причина для изменения. O (Open/Closed) — открыт для расширения, закрыт для модификации. L (Liskov Substitution) — подтипы должны быть взаимозаменяемы с базовым типом. I (Interface Segregation) — много маленьких интерфейсов лучше одного большого. D (Dependency Inversion) — зависимости от абстракций, а не от конкретных реализаций.

В Go SOLID проявляется через маленькие интерфейсы (1-2 метода), композицию вместо наследования и dependency injection через интерфейсы. Например, io.Reader и io.Writer — идеальный пример Interface Segregation.

Следующий вопрос

Какие есть способы синхронизации горутин?