Переносимость PureMVC поможет вам при переходе на другой язык или его повторной реализации.
Я не могу сосчитать количество платформ и языков, для которых я написал код, которые сейчас вымерли и для которых, даже если бы у меня еще был исходный код, он был бы в основном бесполезным и его пришлось бы переписывать с нуля. сегодня, поскольку код, как правило, на 100% зависит от платформы.
Но весь код приложения не должен сильно зависеть от платформы. Просмотр компонентов и сервисов (границ вашего приложения) обязательно будет, но логика вашего приложения, которая зажата между границами, не обязательна.
Область применения PureMVC действительно довольно узка; просто чтобы помочь вам разделить ваш код на три уровня, запрещенных мета-шаблоном MVC. Нет причин, по которым этот код должен быть тесно привязан к вашей платформе, чтобы быть оптимальным.
Когда придет время мигрировать, вы поймете, что участники структуры и их роли, обязанности и сотрудничество остаются прежними. Это позволяет вам разобраться с синтаксическими различиями языка, воссоздавая компоненты и сервисы представления. По крайней мере, вам не придется полностью перестраивать архитектуру.
А в случае повторной реализации на другом языке представьте, что вы пытаетесь захватить значительную часть рынка мобильных устройств с помощью своего приложения. Рынок настолько разрушен, что вам придется реализовать одну и ту же программу на двух или более Windows Mobile, iPhone, Flash и Java. Конечно, у вас, вероятно, будут отдельные команды, отвечающие за приложения, но почему у вас совершенно другая архитектура? С PureMVC вы можете иметь единую архитектуру для всех версий вашего приложения.
- = Cliff>