Почему SOLID?
Почему именно SOLID считается базовыми принципами разработки? Почему именно пять? Почему именно эти пять?
Я думаю, что за основной причиной нужно идти в словарь. Solid — крепкий, твёрдый, надёжный, серьёзный. Роберт Мартин хотел, чтобы принципы легко запоминались — у него это получилось)
Приведу пару аргументов.
I — interface segregation — принцип, конечно, полезный. Но технический по сути, а главное — является частным случаем S — single responsibility.
S, O, D — могут применяться как на уровне классов, так и на уровне модулей приложения.
L — это уровень классов, накладывает на них более строгие требования, чем обеспечивают «из коробки» ООП языки.
Есть ещё полезные принципы — DRY, KISS, которые сюда не попали.
Из всего вышесказанного никак не следует, что SOLID-принципы плохие. Я о том, что их на самом деле больше.
#solid
Почему именно SOLID считается базовыми принципами разработки? Почему именно пять? Почему именно эти пять?
Я думаю, что за основной причиной нужно идти в словарь. Solid — крепкий, твёрдый, надёжный, серьёзный. Роберт Мартин хотел, чтобы принципы легко запоминались — у него это получилось)
Приведу пару аргументов.
I — interface segregation — принцип, конечно, полезный. Но технический по сути, а главное — является частным случаем S — single responsibility.
S, O, D — могут применяться как на уровне классов, так и на уровне модулей приложения.
L — это уровень классов, накладывает на них более строгие требования, чем обеспечивают «из коробки» ООП языки.
Есть ещё полезные принципы — DRY, KISS, которые сюда не попали.
Из всего вышесказанного никак не следует, что SOLID-принципы плохие. Я о том, что их на самом деле больше.
#solid