Автор книги: Сергей Евдокимов
Жанр: Компьютеры: прочее, Компьютеры
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 2 (всего у книги 6 страниц) [доступный отрывок для чтения: 2 страниц]
2.2 Объектно-ориентированное программирование (ООП)
Язык C# – объектно-ориентированный язык программирования, который позволяет разрабатывать на нём большие программные системы, с возможностью модульной заменой многократно используемого кода. В C# классы и объекты, а также их атрибуты и методы, являются базовыми инструментами для реализации ООП. Этот язык программирования был основан на компонентной архитектуре, реализуя современные механизмы для обеспечения безопасности кода.
Классическое определение – «способы моделирования настоящего мира». Можно предположить, что ООП делает код более простым и наглядным. С таким подходом можно построить сложные системы просто и эффективно, и всё благодаря тому, что предметная область разбита на объекты, каждый из которых связан с другими объектами.
Главное отличие между Объектно-ориентированное программированием и Процедурным программированием22
Определённое возрождение процедурного подхода наблюдается в ряде сценарных языков (Tcl, Perl, Lua, Фортран, Кобол, Алгол, Бейсик, Си, ПЛ/1, Паскаль, Форт, языки командных оболочек), однако большинство из них являются мультипарадигменными.
[Закрыть], то что процедурное программирование заключается в написании кода с или без подпрограмм. ООП использует язык программирования более хорошему программному коду и для получений высокого уровня написания огромных проектов и производительность. Похая взаимосвязь может возникать после несоблюдения трех главных принципов: полиморфизма, инкапсуляции и наследования.
Рисунок 2.2.1 — Основные принципы ООП
«Сущность» и «объект» в человеческой ежедневной жизни можно считать: самолёты, ПК, транспортные стредства, банковские счета. Все объекты обладают некоторыми параметрами и функциональностью. Объект, который представляется как завершенная функциональная единица, составляет все необходимые данные и полную функциональность, которая нужна для решений задач, и по которой он имеет назначение.
К примеру, рассмотрим такой объект как «велосипед». У него есть параметры (цвет, вес, стоимость) и поведение (мотоцикл может ехать, сигналить, потреблять топливо).
С вищеуказаного примера, можно считать, что Инкапсуляция – это сокрытие поведения объекта внутри него. Этому объекту «водитель» нет такой необходимости владеть инофрмацией о происходящем в объекте «мотоцикл», чтобы двуколёсный ехал. Это главный и ключевой принцип ООП.
Наследование. К примеру, возьмём объекты: «человек» и «водитель». У них есть что-то общее? Наследование даёт возможность выделить всё общее в один объект (в данном конкретном случае более общим – человек), а для водителя – определить как человека с дополнительными параметрами и поведением. Так как у водителя обязательно есть водительские права, а у человека их присудствие является не обязательным.
Полиморфизм считатется переопределением поведения.
К примеру, снова рассмотрим объекты «человек» и «водитель», но в этот раз добавим ещё один объект «пешеход». Объект «Человек» наделён способностью передвигаться, но как именно, это уже зависит от того, является он водителем, или пешеходом. Можно предположить, что у пешехода и водителя похожее поведение, но реализация по-разному: первый перемещается с помощью ног, второй – на машине.
Реализация методов ООП происходит с помощью интерфейсов, определяет список методов класса, но ничего не говорит об их реализации. В объекте допустимо реализовать несколько интерфейсов, а один и тот же интерфейс можно реализовать в разных классах.
Рисунок 2.2.2 — Общее представление об ООП
Объект представляет собой экземпляр определёного класса.
А класс – шаблон, в котором описаны: все параметры этого объекта, его методы. Учитывая то, что класс объекта «Воздушный шарик» определяется свойствами цвета, то экземпляр этого класса, можно создавать сколько угодно, и другие будут раскрашены в эти цвета.
Классы выстраиваются в витиеватые структуры. Поэтому, чем сама структура запутанней, тем утилита будет гибкой, и легче поддается с изменениями и внедрением новых видов функционала, но это не обязательно. Принципы ООП (наследование, полиморфизм, инкапсуляция) позволяют возможность для создания структур объектов еще эффектней, избавляя кодинг от дублирований и создают его интуитивно более допустимым, но это не всегда.
Для понимание принципа работы объектов нужно разобраться в сути мастерства ООП, и в умении создавать многоуровневую структуру по классам, оставляя программный код надежным, читаемым и гибким.
2.3 Алгоритмы и структуры данных
Алгоритм – это так называют последовательность действий, которые совершаются. Структуры данных имеют реализацию с помощью алгоритма, а вот алгоритмы – структуры данных. Алгоритмы и структуры данных – это инструменты, которыми уверенно пользуются начинающее разработчики, создавая утилиты. Если знать этот инструментарий, можно создавать большое количество того, что уже в базах кодинга, а также и с которыми не редко встречаемся. Кроме этого, похожие данные решают сложные задания. Это нужно иметь ввиду, и при ограничениях алгоритмов (теоретических), о при том, какими оптимизациями их есть возможность подвергнуть. По итогу, понять решение, в котором, с учётами всех нужных компромиссов, оказывается настолько хорошими, насколько это предоставляет возможность.
Алгоритмы и структуры данных (в C#):
– Связный список
Связный список (с англ. Linked List) представляет набор связанных узлов, каждый из которых хранит собственно данные и ссылку на следующий узел.
– Двусвязные списки
Двусвязный список – это структура данных, которая состоит из узлов, которые хранят полезные данные, указатели на предыдущий узел и следующий узел, каждый из которых содержит информационную часть (данные) и два указателя на соседние элементы (на следующий и предыдущий элементы). В пространстве имен. NET C# System. Collections. В случае, когда в списке нет элементов, оба они равны нулю. Если в списке один элемент, то оба указателя ссылаются на один и тот же элемент (соответственное, они равны).
– Стек на основе массива
Стек представляет собой структуру данных, которая работает по принципу LIFO (Last In First Out – «последний пришел – первый вышел»). Графически стек можно представить в виде столбика или стопки объектов:
Рисунок 2.3.1 — Стек из массива
Стек имеет вершину, который образует последний добавленный элемент. При добавлении новый элемент помещается поверх вершины стека и образует новую вершину. При удалении удаляется элемент из вершины стека, а предыдущий элемент образует новую вершину.
– Стек
Стек представляет собой коллекцию объектов, поступающих последними и выходящих первыми. Он используется, когда вам нужен доступ к товарам в порядке очереди. Когда вы добавляете элемент в список, это называется нажатием элемента, а когда вы удаляете его, это называется выталкиванием элемента.
– Очередь
Очередь (с англ. queue) – это коллекция, в которой элементы обрабатываются по схеме «первый вошел, первый вышел» (first in, first out – FIFO). Элемент, вставленный в очередь первым, первым же и читается. Отличие в том, что в стеке элемент устанавливаются, извлекаются с одного конца. В очереди элементы вставляются с одного конца, а извлекаются из другого. В программировании очередь используется, когда необходимо проделать какие-то действия по порядку их поступления, выполняя это последовательно. Примером служит организация событий семейства ОС Windows.
– Дек
Дек включает структуру данных, в которой есть возможность добавить и удалить элемент с двух сторон. Дек считают «двусторонней очередью», на которой элементы добавляют из самого начала, так и по самый конец. Процесс удаления также само происходит из начала, и с конца.
– Кольцевой односвязный список
Кольцевые (циклические, круговые) списки – разновидность связных списков. Поэтому, могут быть как односвязными, так и двусвязными. Их отличительной особенностью является то, что условной последний элемент хранит ссылку на первый элемент, поэтому список получается замкнутым или кольцевым.
Рисунок 2.3.2 — Структура данных
(Кольцевые, круговые, циклические списки)
– Кольцевой двусвязный список
Кольцевой двусвязный список – замкнутый список, на котором указатель элемента перемещается вперед, и назад по кругу. Каждый узел такого списка представляет элемент, который хранит указатели на предыдущий и следующий узел.
Рисунок 2.3.3 — Структура данных кольцевого
двухсвязного списка)
Типы данных разделяют на простые и сложные (в зависимости от как устроены данные). У простых типов (ещё называют скалярные) возможны значения: едины и неделимы. А вот сложные типы данных характеризуются способами структуризации данных. Первое значение из сложного типа имеет множества значений данных, которые сочетают сложный тип.
Также есть другие критерии по классификации типов. Например, встроенные типы и те, которые определяются программистом непосредственно. Встроенные типы принадлежат к языку программирования и составляют его основу. В базисе системы типов языка программирования лежит главная система типов, которые встроенные в этот язык. На этой основе разработчик строит собственные, определенные типы данных.
Типы данных бывают динамические и статические. Для динамического типа данных размер в момент объявления неизвестен и память выделяется по запросу в процессе выполнения программы. Для статического типа данных память отводится в момент объявления, требуемый размер данных известен при их объявлении. Еще есть важная классификация типов – деление на ссылочные и значимые. Для значимых типов значение объекта неотъемлемая собственностью переменной. Для ссылочных типов значение служит ссылка на некий объект в памяти, который располагается в динамической памяти. Далее показано перечень основных встроенных типов в языке C Sharp, их основные характеристики.
Таблица 2.3.4 — Типы данных в C# ч.1
Таблица 2.3.4 — Типы данных в C# ч.2
По структуре алгоритмы разделяют на линейные, разветвляющиеся и циклические
Рисунок 2.3.5 — Схема алгоритма циклической структуры для нахождения суммы N первых членов натурального ряда.
Линейными называют алгоритмы, в которых операции выполняются последовательно одна за другой, в естественном и единственном порядке следования.
Рисунок 2.3.6 — Пример алгоритма разветвляющейся структуры в случаях необходимости анализа логических условий.
Алгоритмы, в которых в зависимости от выполнения некоторого логического условия происходит разветвление вычислений по одному из нескольких возможных направлений, называют разветвляющимися.
Рисунок 2.3.7 — Схема алгоритма циклической структуры для нахождения суммы N первых членов натурального ряда.
Алгоритмы циклической структуры включает повторения действия по последовательности по одним и тем же математическим зависимостям, учитывая разные значения некоторых изменяемых величин. Это были только основы, поверхностно, что узнать подробней, нужно читать литературу [1—5].
2.4 Язык C# и. NET Framework
Язык C# разработано и спроектировано для использования его с технологией. NET Framework. Учитывая то, что. NET Framework послужила поддержкою, разработкой и выполнением распределенных приложений компонентов. Что обеспечивает использование совместно на разных языках программирования, ещё и предоставляет переносимость утилит, безопасность, общую модель для программирования на платформе ОС Windows. Технолгия. NET Framework содержит много по разработке WEB-приложений готовых API-интерфейсов (ASP.NET), взаимодействие с базами данных (ADO.NET), десктопных приложений (WPF), и т. д.
– ASP.NET
ASP.NET – это основная технология для создания элементов по северной части и WEB-утилит от компании Microsoft. В общем, ASP.NET до сих пор представляет полную платформу по WEB-разработке из всех, программ, что создавались когда-нибудь. Продвинутая поддержка шаблонов проектирования технологии MVC только даёт ещё больше популярности ASP.NET.
– C#5.0 и платформа. NET 4.5
Простое руководство по C#, которое описывает основные конструкции синтаксиса языка программирования, а также самые простые особенности API-интерфейсов и. NET Framework, включая работу по сборкам и рефлексии, многопоточности файлов по сети.
– WPF
WPF (с англ. Windows Presentation Foundation) – это полнофункциональный API-интерфейс по созданию настольных программ (графических), которые имеют касочный дизайн, интерактивность. С отличием от технологий Windows Forms, WPF включает в себя новейшую модель создания пользовательских программ (в основе инфраструктура, основана на DirectX).
– Темы WPF
Темы WPF – наборы разнообразных элементов шаблонов по управлению.
– Silverlight
Технологии Silverlight предназначены для построения утилит, которые работают под управлением разных ОС в браузерах. Программы в Silverlight обрабатывают надстройками браузера. В обработке WEB-страницы, которая включает все компоненты Silverlight, поднадстройка браузера выводит компоненты в заданную область на HTML-странице.
– ADO.NET
По своей сути в технологии. NET определяются возможности, позволяющее взаимодействовать непосредственно с удаленными базами данных, и с локальными БД (используя ADO.NET и Entity Framework).
– LINQ
Дополнительное расширение для языка C# по работе в разных контекстах (с объектами LINQ to Objects, XML-документами, ADO.NET, Entity Framework, LINQ).
– Expression Blend 4
Дополнение под названием Expression Blend предназначено для создания приложений WPF, и было разработано компанией Microsoft на промышленном уровне. Это инструментарий предоставляется для пользователя как интерфейс с графической оболочкой, в котором можно настраивать и создавать настольные ПО и WEB-приложения. Учитывая то, что формируется автоматически вся необходимая XAML-разметка.
– Entity Framework 6
Технология под найменованием Entity Framework предоставляется как возможность с БД с помощью объектно-ориентированного кодинга C#. Поэтому можно использовать язык запросов LINQ.
– SQL Server 2012 и T-SQL
SQL Server (с англ. система управления базами данных) – наилучший выбор на широкий диапазон конечного пользователя и разработчиков БД, которые работают по созданию бизнес-утилит.
– Приложения Windows Store
Для приложений, установленных с Windows Store, начиная с ОС Windows 8, появился функционал API-интерфейса, который наименует себя Windows Runtime. Эти программные продукты представляются с общими стилями, имеют графический интерфейс и разрабатываются в основном для планшетных устройств и смартфонов, хотя так же хорошо работают и на ПК.
2.5 Работа с базами данных в C# и. NET
Процессы с БД имеют очень большое значение. Разные системы управления базами данных используются для хранения данных (MySQL, Oracle, MS SQL Server и т. д. Большинство больших программ используются для хранения данных, управления базами данных эти же ПО. Но чтобы осуществлять связь между базой данных и приложением на C# необходимо посредничество.
Реляционная база данных (РБД) – это набор данных с предопределенными связями между ними. Эти данные созданы в виде набора таблиц, которые стоят из строк и столбцов. В таблицах имеется информация про объекты, представленные в БД. В каждом из столбцов таблицы хранится определенный тип данных, в каждой ячейке – значение атрибута. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту или сущности.
SQL (Structured Query Language) – это структурированный язык запросов, стандартный язык запросов по работе с реляционными БД.
В C# для работы с базами данных технологии. NET применяется ADO.NET. Для улучшения процессов взаимодействия с БД, также используется технология ORM Entity Framework, которая позволяет сопоставлять сущностей C# с таблицами в БД. Далее выкладываться примеры, с использованием подключения к БД с вышеупомянутых технологий.
Entity Framework – специальная объектно-ориентированная технология на основе фреймворка. NET по взаимодействия с данными. Если основные средства ADO.NET позволяют создавать только подключения, команды и прочие объекты для взаимодействия с базами данных, то технология Entity Framework – более высокий уровень абстракции, который может абстрагироваться от самой БД и взаимодействовать с данными (независимо от типа хранилища). В случает, когда на физическом уровне мы взаимодействием с таблицами, индексами, первичными и внешними ключами, то на концептуальном уровне в Entity Framework – с объектами.
– ADO.NET
Платформа. NET Framework состоит из собственной технологии доступов к данным (ADO.NET). Данная технология состоит из управляемых классов, позволяющих приложениям. NET подключаться к источникам данных (обычно РБД), выполнять команды и управлять автономными данными. Технология ADO.NET позволяет писать более-менее одинаковый код для доступа к данным – как в веб-приложениях, так же и в клиент-серверных настольных приложениях, и даже в однопользовательских приложениях, подключаемые к локальной БД. ADO.NET – технология по работе с данными (основана на. NET Framework), представляется как набор классов, из которых мы отправляем запросы к БД, устанавливаем подключения, получаем ответ от БД
и производим ряд других процесов. И всё-таки, для того чтобы пользоваться набором объектов по разным источникам данных, нужно иметь соответствующий провайдер данных. Так как через провайдер данных в ADO.NET осуществляется взаимодействие с БД. Приэтом для каждого источника в ADO.NET свой провайдер, который определяет конкретную интерпретацию вышеперечисленых классов.
Рисунок 2.5.1 — Схематичная архитектура ADO.NET
Взаимодействие с базами данных часто встречается в современных приложениях (настольное приложение, WEB-сайт или WEB-служба). Платформа. NET Framework имеет много способов для взаимодействия с БД из управляемого ей кода, что также описывается в данном проекте. Главной системой управления базами данных для ОС Windows является SQL Server, поэтому администрирование также будет описано детально.
– Entity Framework 6
API-интерфейс имеет название Entity Framework, который был спроектирован по взаимодействиям с другими базами данных, которые взаимодействуют с технологией ADO (и с SQL Server), и даже включает свой диалект, который не зависит от языка SQL, его можно применять в качестве альтернативы LINQ.
– SQL Server 2012 и язык T-SQL
SQL Server (Система управления базами данных) – наилучший выбор для большого диапазона пользователей и разработчиков БД, которые работают по созданию приложений. Но в целом, SQL Server это что-то больше, чем система управления РБД, это платформа позволяет управлять структурированными, структурированными и неструктурированными данными, а также предоставляет комплексное, интегрированное системное ПО и программное обеспечение для аналитических исследований, что позволяют предприятиям критически важными данными управлять.
– Оконные функции T-SQL
Добавление оконных функций стало одним из самых фундаментальных расширений для языка SQL в среде Microsoft SQL Server 2005, с такими синтаксическими конструкциями, как OVER и набор новых функций, известных как функции ранжирования (ROW_NUMBER, RANK, и других). Это позволяет решать нестандартные проблемы более понятным способом и более высокой производительностью, чем ранее.
2.6 Среда разработки Microsoft Visual Studio 2023 и другие
Microsoft Visual Studio – это линейка программных продуктов от компании Microsoft, которые включают в интегрированной среде разработки ПО ряд других инструментов. Эти утилиты предоставляют разрабатывать консольные приложения, игры с графическим интерфейсом, включая поддержку технологии Windows Forms, WEB-приложения, UWP, WEB-службы, WEB-сайты для управляемых кодах на всех платформ, которые поддерживают ОС Windows,.NET Core, Windows CE,.NET Framework,.NET, ОС Windows Mobile, MAUI, Windows Phone. NET, Xbox, Silverlight и Compact Framework, а также iOS и Android.
Интегрированная среда разработки (IDE) – это многофункциональная платформа, поддерживающая много элементов в разработке ПО. Интегрированная среда разработки Visual Studio представляет стартовую площадку по созданию, отладки и сборки кода, ещё также для последующей продвижения приложений. Кроме стандартного редактора и отладчика IDE, Visual Studio включает в себя компиляторы, средства по завершению кода, графический конструктор и т. д. (функции по улучшению процесса разработки).
Рисунок 2.6.1 — Интерфейс среды разработки Microsoft VS
На рисунке 2.6.1 представлена среда Visual Studio с открытым проектом и объяснения по основным окнам, функциональных возможностях.
Справа, в верхнем углу окна Обозревателя решений просматривает объект как файлы кода, по ним можно перемещаться и управлять. Обозреватель решений упорядочивает код с помощью объединения файлов в решения и проекты.
В центральном окне редактора отображается содержимое файла. В окне редактора можно вносить изменения в программный код или разрабатывать пользовательский интерфейс (Окно с кнопками, текстовые поля).
Окно Изменения Git в нижнем углу справа позволяет отслеживать рабочие элементы и откырвать общий доступ к коду, (Используется в Git, GitHub и другие технологии управления версиями).
Существует три выпуска Visual Studio: Community, Professional и Enterprise. Сведения о функциях поддерживаются в каждом выпуске.
Visual Studio позволяет выполнять весь цикл разработок в одном месте. К примеру, можно вносить изменение, выполнять отладку, тестирование, создавать управление версиями и развертывание в облаке. Разные функции языков программирования в Visual Studio, начиная
с написания кода и до разработки проектов различных типов.
Visual Studio (Microsoft VS) – это редактор кода для разных высокоуровневых языков программирования, который немного занимает места на винчестере, он гибкий и удобный. Также есть возможность писать, форматировать и редактировать код. IDE Visual Studio творческая стартовая площадка, которую используют для отладки, редактирования сборки кода, а также для публикации приложения.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?