Паттерн MVC. Разъясните для чайника на пальцах пожалуйста - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите и проясните пробелы в этой теме, а то немного не догоняю. Проблема стара как мир, но все же. Перечитано много литературы и просмотрено ряд видео, а суть ускользает из за отсутствия опыта (наверное). В общем есть задание, многим скорее всего известное: режим работы светофоров на перекрестке. С заданием справился но вышло всё на куче. Хочу переписать приложение но с использованием паттерна (я выбрал MVC) для лучшего понимания паттернов. Еще предполагается использование паттерна "Наблюдатель". Что у меня есть: abstract class BaseTrafficLight { ... } - который включает в себя свойства состояния светофора class RoadTL : BaseTrafficLight { ... } - светофор для авто class PedTL : BaseTrafficLight { ... } - светофор для пешеходов class Ctrl { тут метод с переключением состояний светофоров (2 авто и 1 пешеходный) в цикле (и задержкой времени) + список объектов нужных светофоров. List<BaseTrafficLight> crossroads = new List<BaseTrafficLight> crossroads.Add(new RoadTL()); crossroads.Add(new RoadTL()); crossroads.Add(new PedTL());} Есть у меня Все нужные images состояний светофоров(типа красный, красный-желтый, зеленый и т.д.) для WinForm. И есть у меня WinWorm-a с изначально выключеными светофорами и кнопками старт и стоп (для стопа отдельный метод в классе ctrl). Я не могу понять что из-этого всего является моделью( моделью тут будет как бы модель светофора абстрактный класс BaseTrafficLight или моделью считаться будет модель всего перекрестка... и вообще моделью считается класс. Короче говоря какая часть приложения будет относиться к model а какая к контроллеру???? (представлением (view), я так понимаю, будет выступать winform???). Про "Наблюдатель" пока не спрашиваю. И так вопорос долгий вышел. Пжлст разъясните на пальцах

Решение задачи: «Паттерн MVC. Разъясните для чайника на пальцах пожалуйста»

textual
Листинг программы
using System;
 
namespace ConsoleApplication75
{
    class Program
    {
        static void Main(string[] args)
        {
            var controller = new Controller();
            controller.ShowGreen();
            Console.WriteLine(controller.CurrentRoadState);
            controller.ShowRed();
            Console.WriteLine(controller.CurrentRoadState);
        }
    }
}

ИИ поможет Вам:


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

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы