StackJS es un framework más que nos ofrece las herramientas necesarias para facilitarnos la tarea implementar mediante orientación a objetos en javascript.
Además de una serie de funcionalidades que le aportan robustez a nuestras creaciones.
setters y getters automáticos
Automáticamente tendremos disponible métodos de insercción y consulta de todos los atributos de la clase, lo que nos facilitará la tarea de trabajar con ellas.
Class('Car', {
engineSize: null,
model: null,
manufacturer: null,
maxSpeed: null,
Car: function(manufacturer) {
this.manufacturer = manufacturer;
}
});
var car = new Car('Toyota');
car.setModel(2007); // Setter Automático
console.log(car.getManufacturer()); // Getter Automático
Gestión de errores
La posibilidad de definir nuestras propias excepciones, condicionar funcionamientos y lanzarlas cuando detectemos un problema nos permite una mayor control de nuestro código.
Class('MyException::Exception',{
test: null,
MyException: function(test) {
this.message = "Excepción lanzada";
this.human = test;
}
});
Class('MiClass', {
falla: function(){
Throw(new MyException(this)); // Excepción
}
});
var miKlass = new MiClass();
// Evento MyException
Catch('MyException', function(ex){
console.log("Se ha producido una excepción controlada");
});
miKlass.falla();
Delegación de objetos
Portado de ObjectiveC podemos vincular objetos delegando eventos entre ellos.
Class("Engine",{
size: null,
Engine: function(size) {
this.size = size;
},
start: function() {
this.callDelegate("didBrokenPart",[this]);
}
});
Class("Car",{
engine: null,
Car: function() {
this.engine = new Engine(1600); // Creamos un nuevo Engine
this.engine.setDelegate(this); // Delegamos el nuevo objeto creado
},
drive: function() {
console.log("start drive");
this.engine.start();
},
stop: function() {
console.log("car is stopped");
},
didBrokenPart: function(object) {
this.stop();
}
});
Y todo en solo 3kb comprimdido.
[Descargar]
3 comentarios, 0 referencias
+
#