У меня есть класс, который я написал довольно рано в своем опыте программирования на vb.net, который унаследован от другого класса, который он действительно должен был составить.Базовый класс - это относительно общая вложенная коллекция на основе словаря;давайте назовем класс-потомок «Car».
Сейчас есть много кода, который делает такие вещи, как «MyCar! Color.st =« Red »» (я использую обобщенную коллекцию, а не реальные свойства, чтобы облегчитьобмен данными с кодом, написанным на VB6, а также для облегчения сравнения автомобилей; при наличии трех автомобилей X, Y, Z я могу, например, обнаружить любые изменения между X и Y и применить эти изменения к Z).
IsЕсть ли хороший способ рефакторинга кода для использования композиции, а не наследования?К каким свойствам / методам должен относиться объект «Car», а к каким следует обращаться через свойство объекта данных?Следует ли определить расширяющуюся конверсию между автомобилем и объектом сбора?Есть ли какие-либо ошибки при проведении такого рефакторинга?