08/07/31 21:05:45
>>552のAbstract Factoryの頁を読んでみたんだけど、
とても違和感を感じる、というよりはっきり言って全く間違っているように思うのだが
これは俺の方が間違ってる?
俺がおかしいなと思った点は、
(1) void Create( AbstractWeapons *AbsWep)みたいな"具体的な"値を引数で
取るメソッドのどこが"Abstract"(抽象)なのか?
思うに、この著者は"Abstract"の意味を取り違えているのではないか?
確かに「武器」はAbstractWeapons という型に抽象化されてはいるが、
Abstract Factoryの"Abstract"ってそういう抽象化のことを指しているんじゃないのでは?
(2) 1とも関係するが、著者は自分で『オブジェクト内部で作ってもらった方が、
外部の人は渡すべき武器について知らなくて良いので楽になる』と(もっともな)事を言っているのに
できたコードは全然そうなってない。