クラスが常にFooオブジェクトを作成するとは限らない場合、クラスをFooFactoryと呼ぶのは間違っていますか?たとえば、次のインターフェイスがある場合:
public interface IFooFactory
{
Foo Create();
}
次のように実装します。
public class FooFactory : IFooFactory
{
public IFoo Create()
{
return ServiceLocator.Current.GetInstance<IFoo>();
}
}
次に、このクラスは、IoCコンテナの構成方法に応じてFooを作成する可能性があります。'XxxFacotry'の名前を実際のファクトリ用に予約する必要がある場合、インターフェイスとクラスを何と呼ぶ必要がありますか?
明白な答えはIFooProviderですが、「XxxProvider」は使いすぎて曖昧すぎるため、避けたいと思います。一方、IFooServiceLocatorはあまりにも具体的です。
代替の命名提案は大歓迎です。