oo-patterns
Object Oriented Patterns is a simple lightweight node module that eases JavaScript based inheritance of classes. It is inspired by ruby methodologies.
Usage
Basic Inheritance (static methods and instance methods)
var oo = require('oo-patterns');// This is the parent classfunction Base () { }Base.find (id) {// static methodconsole.log('Finding user...');}Base.prototype.update = function () {// instance methodconsole.log('Updating user...');}// This is the child classfunction User () { }oo.inherits(User, Base);var user = new User();user.update(); // Updating user...User.find(1); // Finding user...
Module Based Inheritance, Mixins (instance methods)
// declare classes that are intended to behave as modulesfunction Confirmable () { };Confirmable.prototype.confirm = function () {console.log('Confirming...');}function Authenticatable () { };Authenticatable.prototype.authenticate = function () {console.log('Authenticating...');}oo.includes(User, Authenticatable, Confirmable);user.confirm() // Confirming...user.authenticate() //Authenticating...