Уменьшение сложности уровня приложения на базе Cairngorm

#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 … тогда, боюсь, я не смогу вам здесь помочь. 🙂

Приветствия и удачи!