- Notifications
You must be signed in to change notification settings - Fork60
Book about the SOLID principles and object-oriented software design.
License
MIT, Unknown licenses found
Licenses found
bespoyasov/solidbook
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Read thedescription in English. The translation is on the way. Hold tight and stay tuned!
Книга о принципах SOLID и объектно-ориентированном дизайне программ.
Программировать — сложно.
Хороший код адекватно отражает систему, которую описывает, он устойчив к изменениям в этой системе. Плохой код запутанный, хрупкий и непонятный — он замедляет разработку.
Код становится плохим, когда он перестаёт соответствовать реальности — бизнес-требованиям, правилам поведения частей системы, их отношениям друг с другом. Бизнес-правила — это территория, код — карта этой территории. Чем точнее карта, тем проще справляться с изменениями в требованиях и даже предвидеть их.
В этой книге мы хотим рассказать и показать на примерах, как принципы объектно-ориентированного программирования могут помочь спроектировать устойчивую систему.
Мы рассмотрим 5 принципов SOLID, а именно:
- принцип единственной ответственности
- открытости и закрытости
- подстановки Барбары Лисков
- разделения интерфейса
- инверсии зависимостей
Каждый из принципов — это лишь рекомендация, все они имеют область и границы применения. Но чтобы увидеть эти границы, необходимо понять, в чём польза и издержки каждого. Многие принципы вам покажутся чрезмерно абстрактными, неконкретными или вовсе надуманными. Отнеситесь к таким принципам, как к дзену Python — держите в голове, но проверяйте, насколько они полезны в конкретной ситуации.
Мы в этой книге предлагаем ещё одну из бесконечного числа интерпретаций этих принципов, попутно расписывая пользу и ограничения каждого. Зная пользу и ограничения, можно оценить, насколько конкретный принцип помогает решить задачу, стоящую перед вами.
Эту книжку написали:
- Саша Беспоясов — разработчик в0+X, соавторТяжеловато, бывший преподаватель вНетологии;
- Артём Самофалов — ведущий фронтенд-разработчик вSocial Discovery Ventures, бывший преподаватель вLoftSchool.
...Иконтрибьюторы проекта ❤️
Текст и иллюстрации книги распространяются под лицензиейCC BY-NC-SA 4.0. Вы можете дополнять, менять и использовать их в проектах на некоммерческой основе при сохранении лицензии и указании авторов.
Исходный код проекта распространяется под лицензиейMIT.
About
Book about the SOLID principles and object-oriented software design.