Я разрабатываю различные компоненты и регулярно сталкиваюсь с необходимостью иметь свойство, которое имеет отношение "один ко многим", компонент-свойство-член. Компоненты часто являются визуальными компонентами, но не всегда, и иногда их необходимо регистрировать в IDE (т. Е. Использовать инспектор свойств), но не всегда. Я не уверен, какой маршрут выбрать при настройке этих свойств - используя свойство массива, TList, TStringList, TCollection или что-то еще вообще (возможно, новый класс, который наследуется от одного из них).
Каковы "лучшие практики" / руководящие принципы, для которых следует использовать, когда и где?