Каков наилучший способ повторного использования функций в среде Flex MVC? - PullRequest
0 голосов
/ 09 января 2009

Я использую архитектуру Cairngorm MVC для моего текущего проекта.

У меня есть несколько команд, которые используют один и тот же тип функции, которая возвращает значение. Я хотел бы иметь эту функцию в одном месте и использовать ее повторно, а не дублировать код в каждой команде. Каков наилучший способ сделать это?

Ответы [ 3 ]

1 голос
/ 10 января 2009

Создайте абстрактный базовый класс для ваших команд и добавьте свою функцию в защищенную область. Если вам нужно повторно использовать его где-либо еще, преобразуйте его в открытый статический метод в служебном классе.

1 голос
/ 11 января 2009

Создайте статический класс или статический метод в одном из ваших классов Cairngorm.

class MyStatic
{
    public static function myFunction(value:String):String
    {
        return "Returning " + value;
    }
}

Тогда где вы хотите использовать свою функцию:

import MyStatic;

var str:String = MyStatic.myFunction("test");

Другим вариантом является создание функции верхнего уровня (а-ля "трассировка"). Проверьте этот пост, который я написал здесь .

1 голос
/ 10 января 2009

У вас есть много вариантов здесь - общедоступные функции в вашей модели или контроллере, такие как:

var mySharedFunction:Function = function():void
{
   trace("foo");
}

... статические методы в новых или существующих классах и т. Д. Однако наилучшая практика, вероятно, зависит от того, что должна делать функция. Вы можете уточнить?

...