Шаблон проектирования для работы со многими компонентами локомотива.C#

Место общения программистов C#
Ответить
Гость
 Шаблон проектирования для работы со многими компонентами локомотива.

Сообщение Гость »


На C# я создаю систему управления локомотивом. Моя проблема в том, что у меня есть различные компоненты, такие как тележка с осями, оси с несколькими колесами и тормозами, и все эти детали разрушаются по таймеру. Мне нужна система, в которой колеса могут обновлять содержащие их базовые компоненты, такие как тележка (шасси), и мне хотелось бы, чтобы компоненты (ось, колесо) были более независимыми, а не хранились в списках. Существует ли шаблон проектирования, отвечающий этим требованиям? Мой код приведен ниже.

публичный абстрактный класс LocomotiveComponent { общедоступная строка Имя; общедоступная строка Описание; общедоступные компоненты List; общественный транспорт Здоровье; защищенный LocomotiveComponent (имя строки) { Имя = имя; Здоровье = 100f; } публичный абстрактный недействительный Update(); } общедоступный абстрактный класс Bogie: LocomotiveComponent { public Bogie(имя строки): база(имя) { } } общедоступный абстрактный класс Axle: LocomotiveComponent { общедоступная ось (имя строки): база (имя) {} } общественный класс Axle4Wheeled: Ось { public Axle4Wheeled(имя строки): база(имя) { Компоненты = новые (4); } публичное переопределение void Update() { } } общественный класс Axle6Wheeled: Ось { public Axle6Wheeled(имя строки): база(имя) { Компоненты = новые (6); } публичное переопределение void Update() { } } Колесо публичного класса: LocomotiveComponent { public Wheel(имя строки): база(имя) {} публичное переопределение void Update() { Здоровье--; если (Здоровье < 10f) { //обновляем тележку с низким уровнем здоровья } } } Я попробовал составной шаблон для разных компонентов, удерживающих другие.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»