понедельник, 28 сентября 2009 г.

О Code Behind во Flex — еще раз

Наглядные официальные статьи по Code Behind во Flex уже есть, включая статьи о Code Behind на русском и украинском, рекомендующие этот подход новичкам во Flex. Напишем о нем еще раз, так как мы о нем толком еще не писали. Это упущение, ведь Code Behind относится к лучшим практикам!


"Code Behind" означает, что код находится за чем-то. А зачем это нужно?


Code Behind помогает стройно разделить код приложения по задачам. Код, в котором задается дизайн находится в одном классе, а код с собственно логикой работы — в другом, том самом, который "Behind".


Во Flex это выражается в том, что Actionscript находится за кодом MXML. Один из возможных (и хорошо работающих, проверенных подходов) к Code Behind реализуется с помощью т.н. Base-классов. Начнем с главного приложения проекта:


1. Для приложения создается базовый Actionscript-класс, в простейшем случае расширяющий родной флексовый класс Application:


package core
{
public class ApplicationBase extends Application
{
...
}
}


2. Этот класс затем и используется как базовый в коде MXML-класса самого приложения:


<?xml version="1.0" encoding="utf-8"?>
<core:ApplicationBase ... >
...
</core:ApplicationBase>


Что мы получили: есть Actionscript-класс ApplicationBase, в котором мы контролируем MXML-приложение. То же самое мы делаем и для всех остальных MXML-компонентов нашего проекта: создаются AS-классы с именами, соответствующими шаблону ComponentNameBase, а MXML-компоненты используют эти классы как базовые — точно так же, как было показано выше для кода Application.


В таком подходе использование тэга Script в MXML-коде сводится к нулю и является, говоря упрощенно, уже плохой практикой.


Таким образом достигается четкое разделение вычислительной логики и дизайна приложения. Логика идет в Actionscript, дизайн — остается в MXML-коде.



Помнится, было так — "Горе мне, о, горе мне!" (Иван Васильевич) Фитнес и диета, умные люди поделились ссылкой!

Что-то выражание вспомнилось - "Ты не бойся, мы тебя небольно зарежем. Чик - и ты уже на небесах." Изолента, хочу попробовать!

Комментариев нет:

Отправить комментарий