Существует ли стандартный шаблон проектирования для ExtJS?

Мы довольно активно используем ExtJS 3.x в нашем флагманском приложении. Административная область нашего приложения разделена на различные модули, которые мы предлагаем. Каждый модуль, а затем и каждая страница для различных действий CRUD модуля имеют свой собственный файл .js для обработки функциональности.

Когда мы начинали, мы просто бросали весь наш код в Ext.onReady() и особо не беспокоились о глобальном пространстве имен (эй... мы никогда не считали себя разработчиками javascript). Освоив ExtJS, я перешел к использованию шаблона singleton и вызову метода init из Ext.onReady() вот так.

var newModule = {
    propertyOne: 'asfd',
    propertyTwo: 'asdf',
    init: function() {
        // set up
    }
};

Ext.onReady(function() {
    newModule.init();
});

Является ли это правильным использованием одноэлементного шаблона javascript и существуют ли какие-либо шаблоны, которые подходят ExtJS лучше, чем одноэлементный, например, скажем, шаблон модуля?

Я использовал это руководство в качестве отправной точки для изучения шаблонов проектирования в Javascript.


person Brandon Cordell    schedule 24.08.2011    source источник
comment
Если у вас достаточно ресурсов, вы можете перейти на extjs 4 и использовать их мощное приложение MVC для разработки своего приложения и не беспокоиться о пространствах имен.   -  person Mehdi Fanai    schedule 25.08.2011
comment
К сожалению, об обновлении пока не может быть и речи. Мы планируем выполнить обновление, как только получим стабильную версию нашего программного обеспечения. Мне не терпится использовать шаблон MVC и новую систему тем Sass.   -  person Brandon Cordell    schedule 25.08.2011
comment
Другие сведения об использовании шаблона проектирования модуля a для Ext JS 3.x можно найти здесь: ExtJS (JavaScript) Рекомендации по использованию шаблонов проектирования модулей   -  person blong    schedule 26.07.2013


Ответы (2)


В конце концов мы решили перейти на ExtJS, и кажется, что с новой архитектурой MVC лучший способ разработать ваше программное обеспечение ExtJS — это использовать Ext.application()

Вы можете прочитать об этом здесь.

person Brandon Cordell    schedule 04.10.2011

Вы можете посмотреть здесь пример создания собственного модули, файл Module.js. Мы использовали этот шаблон для нашего собственного приложения, и у нас не было проблем с ним.

Ext.app.Module = function(config){
    Ext.apply(this, config);
    Ext.app.Module.superclass.constructor.call(this);
    this.init();
}

Ext.extend(Ext.app.Module, Ext.util.Observable, {
     init : Ext.emptyFn
});
person Baidaly    schedule 25.08.2011