В этом курсе мы познакомились с базовыми принципами проектирования программ. Мы узнали, как моделировать и представлять в программе объекты реального и воображаемого мира, и создали библиотеку для работы с графическими примитивами: точками, отрезками, фигурами.
На этом курсе мы изучили следующие темы:
- Предметная область — Domain Model
- Онтология
- Уровни проектирования — барьеры абстракции
- Инвариант
Мы узнали, что такое сущности предметной области, а также разобрали связи между ними. Еще познакомились с онтологией предметной области. Она нужна, чтобы описывать объекты рассматриваемой области и связи между ними.
Также мы разобрались, является ли кортеж самым простым способом представить точку. И узнали, можно ли в этом случае использовать список. Еще мы познакомились с полярной системой координат и узнали, чем она полезна. Также разобрали, как скрывать внутреннюю структуру.
Важно понимать, что после начала работы через абстракцию данных пути назад нет. Придерживайтесь всегда тех функций, которые вы создали сами. Либо тех, которые вам предоставляет используемая библиотека.
Нам удалось рассмотреть еще одну систему — рациональные числа и операции над ними. Так как в Python рациональные числа не поддерживаются, нам предстояло самостоятельно создать для них абстракцию.
Также мы разобрались, как видеть барьеры абстракции и выделять слои. Мы узнали, что такое уровневое проектирование. Оно применяется при разработке сложных систем и проходит через всю технику их построения.
В конце курса мы познакомились с инвариантами. Они используются, чтобы определять непротиворечивость состояния и существуют относительно любой операции. Также узнали, что такое нормализация — когда дробь приводится к нормальной форме. И выяснили, что можно сделать так, чтобы обойти абстракцию было нельзя.
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.