2011/11/29

なんでか知らんけどリポジトリ消されたwww

今日githubのdashboard見てたらtwitterが簡素なクラスライブラリを提供してた。
twitter/dove - GitHub

Simple OO helpers for JavaScript

https://github.com/twitter/dove
たいした物ではないが、ORMを意識したシステムにも使えるんじゃないかと思った。 まずはdove.htmlからsubとextend
var User = Dove.Class.sub({
  prop: 'Alex',

  init: function(name){
    this.name = name;
  }
});

var Person = User.sub();

var ORM = {};
Person.extend(ORM);

var person = new Person('Alex');
console.log(person.name);
ちょっとpropとnameのどちらかがtypo臭いけど。
次にinclude
var Animal = Dove.Class.sub({ kind: 'Animal' });
var Human = Dove.Class.sub();

var animal = new Animal();
Human.include(animal);
var human = new Human();
console.log(human.kind);
そしてproxy
var Drunker = Dove.Class.sub({ drink: function(month) {
    return month + "は正月ーで酒が飲めるぞー!酒が飲める飲めるぞ!酒が飲めるぞ!";
}});

var drunker = new Drunker();
[1,2,3,4,5,6,7,8,9,10,11,12].map(drunker.proxy(function(e) {
    console.log(this.drink(e));
}));
と、一般的なOOに必要そうな物がちっちゃくまとまってる感じ。
ライセンスも何も明記されてないので商用利用していいかは知らない。
Posted at 11:12 | WriteBacks () | Edit
Edit this entry...

wikieditish message: Ready to edit this entry.






















A quick preview will be rendered here when you click "Preview" button.