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パターンと呼んでいいのかなぁと。