У меня довольно большое гибкое приложение, которое мы только что создали для клиента. Теперь босс говорит мне, что больше клиентов заинтересованы в приложении. Однако для их реализации потребуется несколько небольших изменений (не всегда!).
Мы используем Cairngorm, и из того, что я могу сказать, единственные вещи, которые будут отличаться между клиентами, - это представления. В настоящее время представления находятся в главном приложении flex, а все остальное - в библиотеках.
Поэтому я взял представления (компоненты mxml) и поместил их в библиотеку, чтобы все новые клиентские реализации могли их использовать. Все идет нормально. Итак, теперь я создаю новый проект приложения Flex, ссылаюсь на мою новую библиотеку компонентов mxml, добавляю их в основной файл приложения mxml, и приложение отлично работает.
Но вот проблема, как мне построить эту штуку, чтобы я мог переопределить поведение компонентов «по умолчанию» компонентами, специфичными для клиента? Было бы замечательно, если бы я мог просто добавить Mxml-файл в свое клиентское Flex-приложение, и фреймворк знает, что он должен переопределять компонент по умолчанию. Вы могли бы сказать, что я мог бы просто поменять компонент в основном файле приложения, но мне нужна возможность заменить любой компонент, даже тот, который глубоко вложен в другие пользовательские компоненты.
В Asp.net вы можете использовать элемент управления «заполнитель», а затем определить во время выполнения, какой элемент управления загрузить. Но я не уверен, как это сделать во Flex.
Как построить эту вещь?