あれこれ弄ってみたら
複雑すぎて難しかった...…。
作っている間に自分が何のパターンを作っているのか分からなくなる始末。
アーティクルでオブジェクトクラスを実装、クリエーターでファクトリーを実装、それぞれのメソッドが合わさってしまって、要らないメソッドばかり増えるのです。
極限までシンプルにしたら、アーティクルもクリエーターも要らなくなって、パッケージ分けされたファクトリーパターンになってしまいました。
これだとわざわざファクトリーパターン作る意義が薄くない?修正加えるのに結構大変なのですが...…。
一括管理できるように纏めるとオブジェクトクラスとファクトリー毎に不要なメソッドが出来てしまうし、アーティクルはオブジェクト生成だけに集中させようかな...…。
あっちもこっちもメソッド作らせていて収集つかなくなってしまっているのです。
どうにか覚えている範囲で動くところまでは持っていけたけど、このままだと保守性もメンテナンス性もグダグダです。
開発って難しいですね。
オブジェクトは纏める必要はあるか?
ファクトリーのメソッドは統一させたのを持たせたいけど、もう少し融通を聞かせたい。
オーバーロードさせて各ファクトリーで無関係なものを無視させる方法もあるけど、可読性が犠牲になるし、あまりやりたくないな。
可変長引数使ったメソッドをおクリエーターに背負わせて、ファクトリ分けしてそれぞれのメソッドで使わせるか。
メソッド一つずつが活きるし、他で使用しないメソッドはオーバーライドなしで書けるし、オブジェクトクラスは変数の保持に集中させて役割分担できるし、それが良いかも知れない。
果たして自分に出来るかな...…?