javascriptでStrategyパターン?
2007年6月22日
これはStrategyパターンと呼んでいいのだろうか?
var Human = function(){
this.firstName = "亮";
this.lastName = "諸葛";
this.azana = "孔明";
};
Human.prototype.sayName = function(format){
alert(format(this.firstName, this.lastName, this.azana));
};
var foo = new Human();
foo.sayName(function(firstName, lastName){
return lastName + firstName; // -> "諸葛亮"
});
foo.sayName(function(firstName, lastName, azana){
return "我が名は" + lastName + firstName + " 字は" + azana; // -> "我が名は諸葛亮 字は孔明"
});
デザパタとか関係無しに自分がやりたいことは
上記例ならsayName関数に渡すformat関数のInterfaceを決めて
(javascriptなので言語のサポートはありませんが)
ロジックの一部分を関数で渡せるようにしたいということです。
上記例ならsayName関数に渡すformat関数のInterfaceを決めて
(javascriptなので言語のサポートはありませんが)
ロジックの一部分を関数で渡せるようにしたいということです。
それをStrategyパターンと呼んでいいのかなぁと。