1.0.88 • Published 4 years ago
object-oriented-js v1.0.88
var NS = require('object-oriented-js');
//import namespace from './object-oriented-js';
//Reference Article : https://dzone.com/articles/solid-principles-dependency-inversion-principle
//usage
const IDeveloper = {
develop:NS.required
}
function FrontEndDev() {
FrontEndDev.prototype.develop=function(){
console.log("javascript");
};
NS.implement.call(this, IDeveloper);
}
function BackEndDev(NS) {
BackEndDev.prototype.develop=function(NS){
console.log("java");
};
NS.implement.call(this, IDeveloper);
}
const Project = function Project (devListArr) {
Project.prototype.implement = function(){
devListArr.forEach(function(item){
item.develop();
})
}
}
const fed = new FrontEndDev();
const bed = new BackEndDev(NS);
let devListArr = [fed,bed];
let instance = new Project(devListArr);
instance.implement();