Главная страница
Навигация по странице:

  • 27. Отделение логики от представления. MVPM. MVVM. Реализация в WPF/Avalonia UI.

  • Принцип разделения команд и запросов

  • Подставной объект (Mock)

  • Даб работа по методам программирования. обновлено пронько. 1. Классы в C#. Модификаторы доступа. Поля, свойства, индексаторы


    Скачать 0.78 Mb.
    Название1. Классы в C#. Модификаторы доступа. Поля, свойства, индексаторы
    АнкорДаб работа по методам программирования
    Дата11.03.2023
    Размер0.78 Mb.
    Формат файлаdocx
    Имя файлаобновлено пронько.docx
    ТипДокументы
    #980160
    страница6 из 6
    1   2   3   4   5   6

    24. Шаблон проектирования Шаблонный метод (Template Method). Назначение. Пример использования.

    Шаблонный метод (Template Method) определяет общий алгоритм поведения подклассов, позволяя им переопределить отдельные шаги этого алгоритма без изменения его структуры.

    Данный шаблон проектирования используется:

    • Когда планируется, что в будущем подклассы должны будут переопределять различные этапы алгоритма без изменения его структуры

    • Когда в классах, реализующим схожий алгоритм, происходит дублирование кода. Вынесение общего кода в шаблонный метод уменьшит его дублирование в подклассах.

    В качестве UML шаблон проектирования можно изобразить таким образом:



    Пример:

    class Program

    {

    static void Main(string[] args)

    {

    School school = new School();

    University university = new University();

    school.Learn();

    university.Learn();

    Console.Read();

    }

    }
    abstract class Education

    {

    public void Learn()

    {

    Enter();

    Study();

    PassExams();

    GetDocument();

    }

    public abstract void Enter();

    public abstract void Study();

    public virtual void PassExams()

    {

    Console.WriteLine("Сдаем выпускные экзамены");

    }

    public abstract void GetDocument();

    }

    class School : Education

    {

    public override void Enter()

    {

    Console.WriteLine("Идем в первый класс");

    }

    public override void Study()

    {

    Console.WriteLine("Посещаем уроки, делаем домашние задания");

    }

    public override void GetDocument()

    {

    Console.WriteLine("Получаем аттестат о среднем образовании");

    }

    }

    class University : Education

    {

    public override void Enter()

    {

    Console.WriteLine("Сдаем вступительные экзамены и поступаем в ВУЗ");

    }

    public override void Study()

    {

    Console.WriteLine("Посещаем лекции");

    Console.WriteLine("Проходим практику");

    }

    public override void PassExams()

    {

    Console.WriteLine("Сдаем экзамен по специальности");

    }

    public override void GetDocument()

    {

    Console.WriteLine("Получаем диплом о высшем образовании");

    }

    }


    25. Отделение логики от представления. MVC. Пример.

    Термин модель-представление-контроллер (model-view-controller) используется с конца 70-х гг. прошлого столетия. Эта модель явилась результатом проекта Smalltalk в компании Xerox PARC, где она была задумана как способ организации некоторых из ранних приложений графического пользовательского интерфейса. Некоторые из нюансов первоначальной модели MVC были связаны с концепциями, специфичными для Smalltalk, такими как экраны и инструменты, но более глобальные понятия все еще применимы к приложениям, и особенно хорошо они подходят для веб-приложений (MVC нашел отличное применение в ASP.NET, но ниже мы рассмотрим этот паттерн в WPF).

    Если оперировать понятиями высокого уровня, архитектурный шаблон MVC означает, что приложение MVC будет разделено, по крайней мере, на три части:

    Модели

    Содержат или представляют данные, с которыми работают пользователи. Они могут быть простыми моделями представлений, которые только представляют данные, передаваемые между представлениями и контроллерами; или же они могут быть моделями предметной области, которые содержат бизнес-данные, а также операции, преобразования и правила для манипулирования этими данными.

    Представления

    Применяются для визуализации некоторой части модели в виде пользовательского интерфейса.

    Контроллеры

    Обрабатывают поступающие запросы, выполняют операции с моделью и выбирают представления для визуализации пользователю.

    Ниже структура MVC показана на диаграмме:



    Если рассматривать приложение в призме бизнес-логики, то можно выделить три уровня на которых строится приложение:

    Уровень представления

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

    Бизнес-уровень

    Бизнес-уровень или, если говорить проще, уровень приложения, обеспечивает логику взаимодействия представления и данных. В MVC бизнес-уровень реализует структуру модели.

    Уровень данных

    Уровень данных отвечает за получение, передачу и сохранение данных в файле, базе данных, службе или XML.

    Данная структура представлена ниже на рисунке:



    Чтобы лучше вникнуть в этот паттерн, стоит применить его на практике. Для этого создайте WPF-приложение и сверстайте такую форму:



       

           

           

           

       


       

       
    1   2   3   4   5   6


    написать администратору сайта