Дженерики, синглтоны и статические методы Java

Итак, у меня есть несколько классов «Менеджер», например GroupManager. Все эти менеджеры - одиночки.

Использование этого метода для создания экземпляров:

private static GroupManager groupManager = null;

private GroupManager()
{

}

public static GroupManager Instance()
{
    if (groupManager == null)
    {
        groupManager = new GroupManager();
    }
    return groupManager;
}

Я думаю, мне следует начать использовать наследование, поскольку у них много скопированных методов.

Методы Instance () для каждого Менеджера одинаковы.

Итак, для наследования я могу сделать это (очевидно):

GroupManager extends Manager

Можно ли использовать дженерики для использования одного и того же метода экземпляра для всех менеджеров, например:

public class Manager<E>
{
    private static E instance = null;

    public static E Instance()
    {
        if (instance == null)
        {
            instance = new E();
        }
        return instance;
    }

}

Я думаю, что это имеет смысл :)

Итак тогда вы бы сделали GroupManager.Instance () как обычно.

7
задан Dave Newton 2 November 2011 в 14:38
поделиться