"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-коде.
Помнится, было так — "Горе мне, о, горе мне!" (Иван Васильевич) Фитнес и диета, умные люди поделились ссылкой!
Что-то выражание вспомнилось - "Ты не бойся, мы тебя небольно зарежем. Чик - и ты уже на небесах." Изолента, хочу попробовать!
Комментариев нет:
Отправить комментарий