Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

iDemetr/Course-CSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

Решение курса по С#

Данный репозиторий содержит решения лабораторных работ по курсу программирования на языке C#. Каждая лабораторная работа представляет собой самостоятельный проект, в котором последовательно добавляются новые технологии и концепции программирования.

Цель

Обучение и практика современных технологий разработки на C#, начиная с основ и заканчивая архитектурными паттернами.

Технологии

  • C# (.NET)
  • LINQ
  • Асинхронное программирование
  • Работа с файлами и базами данных
  • Паттерны проектирования

Структура проекта

1. Формирование базовых навыков программирования.

Цель: Ознакомление с синтаксисом и базовыми возможностями C#. Технологии: Основы C# — базовые конструкции языка, работа с переменными, условия, циклы, методы.

2. Модификация Л1

Технологии: Введение ООП (классы, объекты, наследование).

  • Создание классов и объектов (class, new)
  • Модификаторы доступа (public, private, protected)
  • Свойства (get, set)
  • Конструкторы классов
  • Наследование (: BaseClass)
  • Полиморфизм (виртуальные методы с virtual и override)
  • Абстрактные классы и интерфейсы (abstract, interface)

Преимущества: Улучшение организации кода, повторное использование и расширяемость.

Что добавлено: Переход от процедурного к объектно-ориентированному стилю. Инкапсуляция данных и логики в классах.

3. Модификация Л2

Технологии: Коллекции и LINQ: работа с динамическими структурами данных и запросами.

  • Коллекции List, Dictionary<TKey, TValue>, ArrayList, итерация с помощью foreach
  • LINQ-запросы:
    • Операторы from, where, select
    • Методы расширения: .Where(), .Select(), .OrderBy()
  • Анонимные типы и лямбда-выражения (x => x.Property > 10)

Преимущества: Ускорение разработки при работе с данными, повышение читаемости и компактности кода, эффективный поиск и фильтрация.

Что добавлено: Эффективная работа с наборами данных. Удобный синтаксис для фильтрации и проекции данных.

4. Модификация Л3

Технологии: Асинхронное программирование (async/await), работа с файлами.

  • Асинхронные методы (async Task, await)
  • Работа с файлами (FileStream, StreamReader, StreamWriter)
  • Обработка исключений (try-catch-finally)
  • Работа с потоками ввода-вывода без блокировки основного потока

Преимущества: Улучшение производительности при операциях ввода-вывода.

Что добавлено: Асинхронное выполнение операций для повышения отзывчивости. Чтение и запись данных в файлы.

5. Модификация Л4

Технологии: Работа с базами данных (Entity Framework или ADO.NET).

  • Подключение к базе данных (ADO.NET или Entity Framework)
  • Использование SQL-запросов или LINQ to Entities
  • Контекст базы данных (DbContext)
  • Моделирование сущностей базы данных через классы
  • CRUD операции (Create, Read, Update, Delete)

Преимущества: Возможность создавать полноценные приложения с постоянным хранением данных, упрощение доступа к данным, ORM для удобной работы с БД.

Что добавлено: Интеграция с базой данных. Сохранение и извлечение данных из внешнего хранилища.

6. Модификация Л5

Технологии: Паттерны проектирования и архитектура: DI, паттерны, улучшение структуры приложения.

  • Внедрение паттернов проектирования (Singleton, Factory, Repository и др.)
  • Использование Dependency Injection (DI) — внедрение зависимостей через конструкторы или свойства
  • Интерфейсы и абстракции для слабого связывания компонентов
  • Логирование и обработка ошибок на уровне архитектуры

Преимущества: Код становится более гибким и поддерживаемым. Улучшение масштабируемости и тестируемости кода.

Что добавлено: Улучшение архитектуры приложения. Повышение тестируемости и масштабируемости.

Как использовать

  1. Клонируйте репозиторий:
    git clone https://github.com/iDemetr/Course-CSharp.git
    
  2. Откройте нужную лабораторную работу в вашей IDE (например, Visual Studio).
  3. Изучайте и запускайте код, экспериментируйте с изменениями.

Лицензия

Проект открыт для изучения и использования.

About

Проект курса по С#

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /