Паттерн 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д