Как изучить ООП С#?

Добрый день! Возник вопрос по ходу обучения. Изучаю язык c#, дошел до ООП по книге "Библия C#". Прочитал и попрактиковал наследование, полиморфизм, инкапсуляцию. Однако проблема в следующем, ощущение, что будто дали только основы основ ООП (теоретические), а так картина не полностью составлена в моей голове. В каких книгах можно получить полные сведения об ООП, о том как и где использовать его принципы или ,те или иные приемы ООП?
  • Вопрос задан
  • 387 просмотров
Пригласить эксперта
Ответы на вопрос 4
@dmshar
В каких книгах можно получить полные сведения об ООП, о том как и где использовать его принципы или ,те или иные приемы ООП?
- ни в каких. Надо понять, что ООП не НЕ универсальное средство. Это инструмент создания больших и сложных проектов. Вам действительно дали азы и начала. Для общего понимания, для привыкания. А вот когда "дорастете" до серьезных проектов, начнете применять (а не по книгам "изучать") ООП на практике - вот тогда и придут понимание. Причем приходить будет постепенно, вместе с ростом вашего опыта. Бесполезно на уровне "изучаю язык программирования по книгам" беспредельно углубляться в тему, в ООП в том числе. Начните писать реальные проекты. Причем, для первых, несложных проектов ООП тоже будет либо ни к месту, либо даже вредно. Но вот потом, когда задачи станут действительно сложными - вот тогда все станет на свои места. И вот тогда можно будет сказать, что вы знаете, понимаете и к месту применяете ООП.
Хотя, разумеется, сейчас набегут сюда новички, которые наперебой начнут советовать всякие книги и сайты для того что бы быстрее стать "профессионалам". В этом и есть прелесть получения подсказок на форуме - в том, что вам насоветуют десяток разных вариантов решения проблемы. А вот выбор - все равно останется за вами.
Ответ написан
Комментировать
GavriKos
@GavriKos
На практике. +любая нормальная книга по паттернам, отедльно по алгоритмам и структурам.
Ответ написан
AgentSmith
@AgentSmith
Это мой ответ на твой вопрос
нет таких книг. это приходит только с практикой
Ответ написан
firedragon
@firedragon
Senior .NET developer
Как выше сказали практика.
Вот допустим инкапсуляция. Все свое ношу с собой и наружу не показываю. Впрочем это больше относится к сложным обьектам бизнес логики.

Наследование - тут все просто, как только видите что код используется одинаково то создаете базовый класс, скорее всего с дженериками и вот у вас вместо 10 ка классов с копипастой один базовый класс, допустим репозитория, и 10 классов наследников в которых только спецефичные методы

Полиморфизм - изменение поведения кода. Допустим есть базовый класс отчета, вы создаете отчет для чайных ситечек. И вам ставят задачу составить отчет по продажам "Остапа Бендера" . Вы просто вызываете базовый метод и на основе его делаете фильтр по Остапу. Весь остальной код без изменений
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы