旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

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なので言語のサポートはありませんが)
ロジックの一部分を関数で渡せるようにしたいということです。

それをStrategyパターンと呼んでいいのかなぁと。

ココとかココとかココを見ると、上記で合っているようですが
ココを見ると、「処理対象により、ロジックを変える」という側面も併せ持つ必要があるように書いてある。

Javaはほとんど書いたことが無いので、この辺が限界スかね
残念無念。