A moduláris felépítés a javascript
kernel függvény feltételezi, a minta mediátor (aka mediátor). Ez a sablon nem tartalmazzák a közvetlen közötti kölcsönhatások független objektumok bevezetésével közvetítés. Ha valamely modul állapota megváltozik, akkor értesíti a lényege az alkalmazás, majd pedig tájékoztatja a változásokról az összes többi modulokat kell tudni róla.
Mi lenne egy magot (Mediator / közvetítő) egy moduláris felépítésű?
Képzeljük el, hogy van két nagyon egyszerű modult, hogy szeretnénk hozzáadni a projekthez: az egyik kap két paramétert számok formájában, majd visszatér az összegük, a másik kap egy paramétert és megjeleníti a képernyőn.
Azt akarom, hogy az első néhány szót a homlokzati mintát. Mint korábban már írtam: Module - samovyzyvayuschayasya ezt a funkciót, a változók és módszerek, amelyek rejtve maradnak a felhasználó, kivéve azokat a változókat, és a módszereket, amelyeket mi szeretnénk, hogy hozzák nyilvánosságra. Ezek a nyilvánosság tájékoztatása és az úgynevezett homlokzati amely mögött a modul építészet.
Nézzünk egy példát. Hagyja, hogy a változó névtér mi névtér, ami a tárgy modulokat. és ez lesz tárolva modulokat.
Mi ugyanazt a műveletet a második modult.
Mint látható, semmi bonyolult: az egyik modul a két számot, a második - adatait jeleníti meg a képernyőn. Megpróbáltam, hogy egyszerűsítse mindent, amennyire csak lehet, így most fontos megérteni a nagyon architektúra moduláris alkalmazások és megérteni, hogyan kell dolgozni.
A modulok készen állnak felkészül a mag, amely importálja a modulok és velük együtt dolgozni.
Ahogy emlékszem, Namespace.modues - a statikus változó, hogy tartja a modulokat, más szóval - ez névtérben.
Mivel már van egy globális változó névtér. aztán megállt. Mi írd meg, hogy a funkció lesz két paramétert. Az első - egy sor modult, és a második - egy callback függvényt, hogy ugyanezek a modulok és fogják használni a tervezett célra.
A mag alkalmazás, akkor nem kell változtatni a modulok Namespace funkció csak vissza egy példányt.
Tehát, ha megértjük, mit akarunk a névtér funkciót. hadd végrehajtani.
És itt van a legfontosabb a mi alkalmazás, más néven minta közvetítő, aki egyben a Közvetítő mintát.
Mi hiányzik névtér funkciója?
- Fájlok letöltése. Miután a kód nem túl jó néz ki: