В настоящее время я пишу программу, в которой около 12 классов должны быть одноэлементными, из-за чего они используют службу обмена сообщениями, которая нуждается в разных типах. Мой вопрос заключается в том, что вместо того, чтобы в основном копировать и вставлять один сингл код для каждого для создания экземпляра, только с изменением класса он делает экземпляр. Есть ли какой-нибудь общий код, который используется для шаблона singleton, для любого класса, который должен создать singleton?Обычный класс для singleton
Вот код, чтобы создать одну из одиночек,
public static void create()
{
if(instance == null)
{
instance = new FooDataWriter();
}
}
Не обижайтесь, но если у вас есть 12 одиночек, вы, вероятно, делать что-то не так с ваш дизайн. –
@HenriqueBarcelos, к сожалению, мы не имеем, мы используем RTI DDS, и каждый тип сообщения имеет свой собственный тип. Так как A - это собственный тип, а B - его собственный тип. Поэтому мы хотим сделать singleton каждого типа, поэтому у нас нет кучи объектов, созданных, когда они не нужны. – jgr208
Ну, я не согласен. Если вам может быть интересно, посмотрите на шаблон [Flyweight] (http://en.wikipedia.org/wiki/Flyweight_pattern) –