私はまだ継承をサポートするSQLデータベースのORMを見ていません。それでも、私は(私は確信しています)他の機会があるあなたが楽しむかもしれないとJSの性質のおかげで信じている:
jugglingdb(私が推薦する1)を使用して、underscore.jsと相まって(何かが、ほとんどのプログラマははずのNode.jsあなたは、次のような何かを行うことができます)に注意を払う:私はそれは同じではありません同意するものの
var user_common_properties = {
name: String,
bio: Schema.Text,
approved: Boolean,
joinedAt: Date,
age: Number
};
var User = schema.define('User', user_common_properties);
var Moderator = schema.define('Moderator', _.extend(user_common_properties, {
power : String,
level : Number
}));
var Reader = schema.define('Moderator', _.extend(user_common_properties, {
lurker : Boolean
}));
、私はそれが非常にJavaScriptに似ていると思います、この悪い:)を検討するいかなる理由がありません。
また、メソッド/検証を再利用したい場合は、それらに割り当てるだけで(関数を再利用する)、またはたくさんの関数を再利用する場合は、それらをオブジェクトに追加して、ReaderオブジェクトとModeratorオブジェクトを拡張します。たとえば...
var repeated_methods = {
first : function() { },
second: function() {}
};
//I want to reuse this for both User and Moderator but not for Reader...
User = _.extend(User, repeated_methods);
Moderator = _.extend(Moderator, repeated_methods);
これは非常に柔軟性があり、水平な再利用に適した関係(動作)が可能です。
これは素晴らしいアイデアのようです。私は間違いなくこの試みを与えている! –