Есть два объекта с публичными методами. Сегодня, первый возвращает строку, второй её принимает, а завтра первый возвращает массив строк, тогда как второй по прежнему принимает строку.
Как называется шаблон проектирования, который предназначен для решения вот таких изменений?
Добавлено:var Test = function(){
//...
};
Test.prototype.input = function(message){
console.log(message);
};
var AdapterGreeting = function(){
//...
};
AdapterGreeting.prototype.adapt = function(args){
var str = 'Hello ';
return str + args + '!';
};
var AdapterListing = function(){
AdapterGreeting.call(this);
};
AdapterListing.prototype = Object.create(AdapterGreeting.prototype);
AdapterListing.prototype.constructor = AdapterListing;
AdapterListing.prototype.adapt = function(args){
var length = args.length;
var count = 0;
var row = '';
while(count < length){
row += 'Item - ' + args[count++] + ';' + '\n';
}
return row;
};
var test = new Test();
var adapterGreeting = new AdapterGreeting();
var adapterListing = new AdapterListing();
test.input(adapterGreeting.adapt('World'));
test.input(adapterListing.adapt(['1', '2', '3']));
jsfiddle.net/x1guaqbc