○○Implの命名方法は悪!?

この前ケント・ベックさんの実装パターンという本を読んだんだけども。
ソースはコミュニケーションをとるように記述する必要があると述べていた。


その中で、○○Implのネーミングはひどいと言っている。


たしかに実装クラスとインターフェースで区別を付けたいというのはわかる。
○○Implだと実装クラスが複数ある場合は区別できないのも困る。


それのサブクラスを作って拡張するときにはなんと命名するのだろう?
○○ImplExtとでも、○○ImplSubとでも付けるのだろうか?


考えてみるといろいろ疑問に感じてきた。


そこでJavaのパッケージはどうなんだろうと思って調べてみた。自分の経験からJavaパッケージに○○Implって付いてるのはあまり見たことないので・・・無いのではないかなと思ったけども。


結論から言うと20クラスが○○Implだったり○○ImplFactoryとか命名されていた。(※インナークラスは見ていない)


で、自分の落としどころとして仕様と実装が一対一の関係でかつ、Factoryとかを利用し○○Implクラスを直接newする使い方をしなければ○○Implはありなんじゃないかと思う。