Объектно-Ориентированное Проектирование на Практике — это курс, который помогает разработчикам любого уровня освоить фундаментальные принципы ООП и научиться применять их осознанно. Материал подаётся через реальные примеры, улучшение кода и повторяющиеся итерации, что делает обучение максимально практичным и понятным.
Чему вы научитесь
Курс формирует у студентов мышление, основанное на объектном моделировании, и раскрывает подходы, которые позволяют создавать гибкие, расширяемые и поддерживаемые системы. Упор делается не на теорию, а на практику, что помогает сразу увидеть пользу полученных навыков.
Ключевые навыки
Анализировать требования и выделять объекты и их связи.
Проектировать устойчивые структуры классов.
Писать код, который легко поддерживать и расширять.
Применять SOLID-принципы и другие концепции грамотного проектирования.
Оценивать качество архитектуры и находить точки улучшений.
Практический подход
Каждый урок содержит задачу с постоянно изменяющимися требованиями — это позволяет на практике понять, почему одни архитектурные решения приводят к гибкости, а другие к хрупкости. Вы будете:
постепенно улучшать код по мере появления новых вводных;
Обучение построено в формате индивидуального прохождения, что позволяет изучать материал в удобном темпе.
Что входит
Видеоуроки с разбором концепций и практических примеров;
Упражнения, развивающие навык мышления объектами;
Задания по рефакторингу и проектированию;
Практика интеграции тестирования в процесс разработки.
Кому будет полезно обучение
Курс подходит как начинающим, так и опытным разработчикам, которые хотят вывести качество своего кода и архитектуры на новый уровень. Он особенно полезен, если вы:
сталкиваетесь с громоздкими и трудноизменяемыми кодовыми базами;
хотите систематизировать знания в ООП;
стремитесь писать код, который легко дополнять, тестировать и поддерживать;
ищете практический курс, а не очередной набор теории.
Почему этот курс эффективен
Особенность курса — упор на постепенное улучшение решения. Такой подход помогает понять:
как проектировать код так, чтобы изменения не ломали существующую систему;
как уменьшать стоимость поддержки и разработки;
как писать код, у которого есть чёткая архитектурная логика.
Результат
После прохождения курса вы сможете уверенно проектировать структуры классов, предсказывать последствия архитектурных решений и создавать системы, которые растут вместе с требованиями, а не ломаются от них.
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Сэнди Метц - американский программист, преподаватель, автор и консультант с более чем 30-летним опытом разработки программного обеспечения. Она специализируется на объектно-ориентированном программировании, особенно на языке Ruby, и известна своими практическими подходами к созданию гибкого и поддерживаемого кода.
Could you please update the ebooks to the latest versions? According to the official website, the most recent version of "99 Bottles of OOP, 2nd Edition" is 2.2.2. I checked the ebooks currently available on CH, and the Python edition is the only one at version 2.2.2. The other three editions JavaScript, PHP, and Ruby are still at version 2.1.1. The version number for each ebook is listed on page 7 in the colophon.
Also, according to the official site, these ebooks are available in EPUB format as well. Would it be possible to include those in addition to the PDFs?
Thanks again for all your hard work!
CourseHunter Team vcxnzs
Okay, we checked the information, and unfortunately there’s nothing new on the course platform. All the books there are version 2.1.1, except for the Python version. There is also no EPUB version available.
vcxnzs CourseHunter Team
Thanks anyway!
mc_cheese
Hello! Thank you rippers and contributors. Just wondering if it's possible to get the text for the lessons (a lot of lessons have no video). This would make the videos easier to follow (though you can probably refer to the book too). I recommend using puppeteer-extra to go over each of the lessons, extract the content and save as pdf (using document.body.scrollHeight to determine the page height and a width ~970px). Then combining the pdf pages.
You can extract the a page's content by running this: ``` const content = document.querySelector("#content-inner"); const style = document.querySelectorAll("style")[1]; content.removeAttribute('class'); document.body.textContent = ''; document.body.appendChild(content); document.body.appendChild(style); ```
Also using the `puppeteer-extra-plugin-stealth` package will help bypass any bot detection. It's a bit of work! (I've done similar before) Just putting it out there.
CourseHunter Team mc_cheese
You didn’t download the materials, right? There’s an HTML folder in there.
mc_cheese CourseHunter Team
I downloaded but didnt look in the code archive assuming it was just codebase stuff. my bad, thank you!!
CourseHunter Team mc_cheese
Good. You are welcome.
CourseHunter Team
Спасибо всем за участие в краудфандинге! Вы - замечательные! Наш первый краудфандинг успешно стартовал. Успехов в учебе!
mc_cheese
Ah Hoj Admin. I have a feature request (I know crowdfunding is still a work in progress). It would be cool to "bookmark" a crowdfund so we can receive a notification when the course is greenlit, needs more funds or more importantly, that the course has been uploaded. This is probably already in the roadmap but thought I'd add my interest. Thank you!
CourseHunter Team mc_cheese
Hello. First of all, there will be no cases where you are required to pay more than your initially declared contribution, because that is simply not acceptable. Instead, sanctions will be applied to users who fail to contribute. Regarding notifications, they will be available very soon. Thank you for your comment!
mc_cheese mc_cheese
Ohh.. as a workaround, we can just "track" the author!
obedient.winking893
Too late to join? Maybe it would make sense to allow joining in the Crowdfunding status, to accelerate the process
CourseHunter Team obedient.winking893
Hey! Really appreciate your interest At this point, though, the contributions have already been divided and a few people have completed their payments. Changing the setup now would make things a bit tricky and unfair for others. Hope that makes sense!
Anonymous
@admin premium users can access this course even they didn't fund it ?
CourseHunter Team Anonymous
The course will be available to all premium users. Additionally, contributors will have lifetime access, even without a subscription.
mexadon Anonymous
really? how? I'm a premium user and all I see is JOIN button
CourseHunter Team
В целом взнос выглядит оптимально. Можем запускать сбор, если вы не против.
The contribution amount looks reasonable. We can start the collection if you're okay with that.
133742 CourseHunter Team
I will pay to tomorrow, dont have access to wallet right now.
133742 133742
Paid, actually I paid twice. Once via btwallet.pro, which expired, and via fmt.me. is there a way I can get one payment back (the btwallet.pro)? Thanks!
CourseHunter Team 133742
please mail us about one refund, no problem. info@coursehunter.net
133742
Can premium members themselves start a crowdfunding action for courses as wel? I would like to start a crowdfunding for a course.
CourseHunter Team 133742
At the moment, no - only the administration can start crowdfunding campaigns for courses. In the future, we might allow users to create their own, but for now, we’re just testing the tool.
However, in the Premium chat, there’s a dedicated topic where you can suggest courses you'd like to see crowdfunded.
weathered turncoat CourseHunter Team
Hi, where can this premium chat be accessed?
CourseHunter Team weathered turncoat
There is an icon on every page of the website, in the bottom right corner.
Also, according to the official site, these ebooks are available in EPUB format as well. Would it be possible to include those in addition to the PDFs?
Thanks again for all your hard work!
This would make the videos easier to follow (though you can probably refer to the book too).
I recommend using puppeteer-extra to go over each of the lessons, extract the content and save as pdf (using document.body.scrollHeight to determine the page height and a width ~970px). Then combining the pdf pages.
You can extract the a page's content by running this:
```
const content = document.querySelector("#content-inner");
const style = document.querySelectorAll("style")[1];
content.removeAttribute('class');
document.body.textContent = '';
document.body.appendChild(content);
document.body.appendChild(style);
```
Also using the `puppeteer-extra-plugin-stealth` package will help bypass any bot detection.
It's a bit of work! (I've done similar before) Just putting it out there.
Успехов в учебе!
Thank you!
The contribution amount looks reasonable. We can start the collection if you're okay with that.
However, in the Premium chat, there’s a dedicated topic where you can suggest courses you'd like to see crowdfunded.