#apache-flex #model-view-controller #architecture #cairngorm
#apache-flex #модель-представление-контроллер #архитектура #cairngorm
Вопрос:
Можно ли использовать такие инструменты, как SWFAddress, некоторыми умными способами, чтобы упростить существующую архитектуру клиент-сервер. Я вижу возможности даже ввести сопоставление шаблонов, подобное REST, или что-то в этом роде.
То, что я в настоящее время делаю, это следую всем рекомендациям Cairngorm, что уже привело к появлению множества команд, которые все имеют смысл, но с учетом бизнес-делегатов и всего такого прочего, я сталкиваюсь с трудностями при расширении и рефакторинге приложения (и на самом деле слои должны были помочь, туго … возможно, я делаю это не совсем правильно, я признаю).
В любом случае, я думал о том, чтобы каким-то образом уменьшить количество событий приложения, происходящих вокруг, и количество команд, отвечающих на них. На самом деле, я вполне согласен даже связать представление с некоторой логикой, если я могу получить rd некоторой сложности уровня.
Что я имею в виду под этим: возможно, я мог бы привязать нажатие кнопки к шаблону URL (или использовать SWFAddress для глобального изменения URL). С другой стороны, я буду ждать изменений URL-адреса, переформатировать его и передать его делегату службы, который имеет в виду необходимые сопоставления, поэтому он знает, какой метод вызывать, или он может даже передать URL-адрес непосредственно HTTPService. Затем делегат обработает ответ сервера и обновит модель, которая с помощью привязок обновит представление.
Я не собираюсь полностью отказываться от команд. Я считаю, что они хороши для планирования внутренних взаимодействий (внутри самого клиента), но я бы хотел воздержаться от их использования для связи с сервером.
Я на правильном пути?
Комментарии:
1. Конечно, я приму это во внимание. Что касается самого вопроса, я в основном ищу совет… надеюсь, что кто-то проходил через некоторые из этих вещей раньше… что-то в этом роде
Ответ №1:
Готовы ли вы перейти на альтернативную платформу, отличную от Cairngorm? Вы только что прекрасно описали, на что жалуется большинство людей по этому поводу. Я думаю, что это в основном существует с давних времен разработки Flex…
Большинство известных мне разработчиков используют более «современный» фреймворк, обычно фокусируясь на внедрении зависимостей (DI).
Это хорошая отправная точка для анализа различных frameowkr, используемых сегодня:
http://www.adobe.com/devnet/flex/articles/flex_framework.html
Лично я предпочитаю Swiz и использую его во всех своих проектах. Он по-прежнему фокусируется на шаблоне команд, но значительно снижает сложность уровня, как вы описали.
Если ваши вопросы были о том, как я могу сделать Cairngorm менее похожим… что ж, Cairngorm … тогда, боюсь, я не смогу вам здесь помочь. 🙂
Приветствия и удачи!