Шаблон проектирования для работы со многими компонентами локомотива. ⇐ 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) { //обновляем тележку с низким уровнем здоровья } } } Я попробовал составной шаблон для разных компонентов, удерживающих другие.
На 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) { //обновляем тележку с низким уровнем здоровья } } } Я попробовал составной шаблон для разных компонентов, удерживающих другие.
Мобильная версия