Joose (rama)

joose
Deweloperzy Malte Ubl
Wersja stabilna
2.1 / 2 sierpnia 2009 ( 02.08.2009 )
Napisane w JavaScript
Typ Ramy aplikacji internetowych
Licencja Nowa licencja BSD
Strona internetowa https://code.google.com/p/joose-js/

Joose to samoobsługowy system metaobiektów typu open source dla JavaScript z obsługą klas , dziedziczenia , domieszek , cech i programowania zorientowanego na aspekty .

System metaobiektów Joose jest wieloparadygmatyczny. Obsługuje na klasach i prototypach, a także dziedziczenie oparte na klasach i rozszerzenia oparte na rolach. Podczas gdy inne frameworki JavaScript często specjalizują się w DOM i AJAX , Joose specjalizuje się wyłącznie w wprowadzaniu skutecznych technik programowania do języka skryptowego JavaScript. Joose jest więc często używany w połączeniu z innym frameworkiem DOM/Ajax JavaScript i jest testowany z jQuery , YUI , Dojo , ExtJS , Prototype , Mootools i PureMVC .

Joose był mocno zainspirowany Moose , systemem obiektowym dla Perla 5 , który sam był inspirowany systemem obiektowym Perla 6 , ale w przeciwieństwie do Perla i Moose'a, Joose nie obsługuje wielokrotnego dziedziczenia .

Przykład

Dwie klasy napisane w Joose:

 
     
          
          
    
     
           
            0
            0
        
    


 Klasa  (  "Punkt"  ,  {  ma  :  {  x  :  {  jest  :  "rw"  },  y  :  {  jest  :  "rw"  }  },  metody  :  {  clear  :  function  ()  {  this  .  setX  (  );  this  .  setY  (  );  }  }  });  klasa  (  
     
     
          
    
     
           
            0
        
    
 "Point3D"  ,  {  isa  :  Point  ,  has  :  {  z  :  {  is  :  "rw"  }  },  po  :  {  clear  :  function  ()  {  this  .  zestaw Z  (  );  }  }  }); 

Point3D jest podklasą Point. Ma zdefiniowany inny atrybut i dodatkowy kod do wykonania po uruchomieniu metody clear() klasy nadrzędnej. „rw” oznacza, że ​​atrybut można odczytywać i zapisywać za pomocą pary akcesorów get/set generowanych automatycznie.

Linki zewnętrzne