В последнее время я думал о шаблонах проектирования, и у меня появилась идея о том, с чем я еще не сталкивался (я уверен, что он существует), поэтому я попытался создать его, и, к моему удивлению, это оказалось проще, чем я думал. Я думал, что это круто, поэтому я хотел бы поделиться этим с вами.
//pass this object a function, and it adds its
//biological and technological distinctiveness to itself
var snowman = {
snowballs: [],
addsnow: function(snow) {
this.snowballs.push(snow);
},
getsnow: function(index) {
con(this.snowballs[index]);
}
}
function squareArea(x, y) {
return x * y;
}
function circleArea(r) {
return Math.PI * 2 * r;
}
snowman.addsnow(squareArea);
snowman.addsnow(circleArea);
console.log( snowman.snowballs[0](5,3) );//15
console.log( snowman.snowballs[1](3) );//18 or so
snowman.getsnow(0);
Как вы думаете, какое практическое применение это может иметь? Что вы думаете об идее предметов, каннибализирующих другие объекты?