После предыдущего вопроса «Каковы важные правила проектирования объектных моделей» теперь я хочу спросить следующее:
Есть ли способ иметь динамические свойства для экземпляров класса?
Предположим, что у нас есть эта схематическая модель объекта:
Таким образом, каждый объект может иметь множество свойств из-за набора реализованных интерфейсов, а затем стать относительно тяжелым объектом. Создание всех возможных и, конечно, разумных объектов может быть способом решения этой проблемы (т. е. Pipe_Designed против Pipe_Designed_NeedInspection), но у меня уже есть большое количество интерфейсов, что усложняет задачу. Интересно, есть ли способ иметь динамические свойства, что-то вроде следующего диалогового окна, позволяющего конечному пользователю выбирать доступные функции для своего нового объекта.