SORU
16 Mart 2012, Cuma


Kötü bir uygulama tek modül olarak requireJS kullanımı kolay mı?

Bu requireJS modül tabanlı kullanmak için aşağıdaki deseni kullanmak için bir singleton olarak hareket etmeyi planlıyorum. Dikkat edin lütfenclassAdöner türünün bir örneği 'classA', sınıfları geri kalanı iseclassB, classC, ve anamodülünden sınıf türüne geri dönmek. Bu tüm sınıflar MooTools Sınıf dayanmaktadır.

Fikir kullanmaktırclassAgenel olarak kullanılabilen bir singleton olarak, bu yöntemler sadece dolgu vardır. Eğer bu kullanmak için kabul edilebilir bir model ise herhangi bir düşünce?

Bu geri daha sonraki bir aşamada beni ısırmaya gelecek? R çalıştırmayı denemedim.proje js henüz, bu yüzden bazı tavsiyelerde için biraz endişeleniyorum ama bak buradayım.

    // classA.js
    define([], function() {
        var classA = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
                this.data = null;
            },

            doSomething: function(param) {
                // some thing.
                this.data = param;
            }
        };

        return new classA();
    });

    // classB.js
    define(["classA"], function(classA) {
        var classB = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
            },

            doSomethingElse: function() {
                // some thing.
                classA.doSomething("Go back to Work Now!");
            }
        };

        return classB;
    });


    // classC.js
    define(["classA"], function(classA) {
        var classB = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
            },

            doSomethingElse: function() {
                // some thing.
                classA.doSomething("Time to Play!");
            }
        };

        return classC;
    });


    // main.js
    define(["classA", "classB", "classC"], function(classA, classB, classC) {
        var main = new Class({

            initialize: function (regionId) {
                // perform some Initialization.
                this.b = new classB();
                this.c = new classC();
            },

            doEverything: function() {
                // some thing.
                this.b.doSomethingElse();
                classA.doSomething("Nap Time!");
            }
        };

        return main;
    });

Şimdiden teşekkürler

CEVAP
17 Mart 2012, CUMARTESİ


Hayır, yapamam require.js ile tekiz kullanarak karşı bir sebep düşünemiyorum.

Modülü tanım singleton verme. Senin gibi o new önlemek için de mümkün olabilir tek olduğu için gayet iyi. Bir şey gibi kullanıyorum

define(function (require) {
    var singleton = function () {
        return {
            ...
        };
    };
    return singleton();
});

Modülü require ilk olarak yükleyin ve ihracat. Başka bir modül, tek gerektiren sadece önceden verilen bir yeniden.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • thewinekone

    thewinekone

    17 Aralık 2005