내가 몇 가지보기로하고 모델 모듈의 정의에서이 작업을 수행하는 액세스 할 필요가있는 모델이 I과 같이 즉시 인스턴스화 해요 :RequireJS가있는 싱글 톤 백본 모델 : 안티 패턴?
define([
'jquery',
'underscore',
'backbone'
], function(_, Backbone) {
var Foo = Backbone.Model.extend({
// wondrous methods and properties
});
return new Foo();
});
는 난 단지 정말이 모델의 하나 개의 인스턴스가 필요합니다 - 바로 지금입니다. 이 문제를 해결하기위한 방법은 별도의 App
모듈을 사용하는 것입니다. 뭔가 같은 :
require([
'App',
'Foo'
], function(App, Foo) {
App.models.foo = new Foo();
});
하지만이 같은 느낌 당신은 기본적를 가지고 다시거야 때문에 가난한 대안 : 당신은 응용 프로그램 시작시 객체에 저장하는 참조를 인스턴스화 할 수있는
define([], function() {
var App = {
routers: {},
models: {},
views: {}
};
return App;
});
전역 네임 스페이스 - 이것은 RequireJS가 피해야하는 것으로되어 있습니다.
위에서 설명한대로 싱글 톤 모델을 사용하지 않으려는 다른 이유가 있습니까?
첫 번째 예에서 한 것처럼 완전히 멋지게 작성해야합니다. –