В этом репозитории находятся проекты решения домашних заданий в рамках обучения по программе профессиональной переподготовки «C#-разработчик» МФТИ.
| № | Название проекта | Краткое описание | Цель проекта |
|---|---|---|---|
| 1 | Домашнее задание №1 | Рассчитать и вывести на экран площадь и периметр прямоугольника, стороны которого запросить у пользователя. | Освоить базовые конструкции C#: ввод/вывод информации, циклы, условия, арифметические операции |
| 2 | Домашнее задание №2 | Студент из МФТИ, имеющий аллергию на кошек и собак, просит вас написать для него консольное приложение, которое позволило бы ему иметь виртуального домашнего питомца. | Освоить ключевые концепции C# и ООП, научиться проектировать классы с правильной инкапсуляцией, использовать наследование и полиморфизм |
| 3 | Домашнее задание №3 | После успешной цифровой трансформации завода по производству педальных двигателей, Московский зоопарк, принимает решение провести цифровизацию своих бизнес-процессов и обращается к вам с просьбой написать ERP-систему. | Освоить ключевые концепции C#, включая: интерфейсы, наследование и полиморфизм (иерархия классов), работу с событиями и делегатами, коллекции (ObservableCollection с реакцией на изменения), ООП-принципы (инкапсуляция, абстракция) |
| 4 | Домашнее задание №4 | Вы разрабатываете приложение по заказу такси. Пользователи приложения должны иметь возможность при заказе выбирать различные варианты такси. При этом каждым транспортным средством имеет право управлять определенный тип водителя и каждый автомобиль имеет определенную модель передвижения. | Освоить ключевые аспекты C#. Изучить и научиться практическому применению паттерна проектирования Abstract Factory для создания семейств взаимосвязанных объектов с обеспечением гибкости архитектуры и изоляции клиентского кода от конкретных реализаций |
| 5 | Домашнее задание №5 | Вам поручили спроектировать модель классов создаваемого приложения для нового агрегатора такси – «С ветерком». В ходе первичного анализа предметной области вы заметили, что ряд паттернов сможет облегчить сопровождение и расширение функционала проекта в будущем. Совместно с командой вы набросали обоснование следующих трех паттернов Strategy-State-Memento. |
Проект закрепляет навыки работы с паттернами, интерфейсами и принципами чистого кода на языке программирования C# |