def singleton(cls): instances = {} def get_instance(): if cls not in instances: instances[cls] = cls() return instances[cls] return getinstance @singleton class MyClass: def do_something(): pass
воскресенье, 26 февраля 2012 г.
Отделённая реализация паттерна Singleton
Чем больше программируете, тем больше желаете, как можно меньше писать кода. Не всегда это правильное решение, но желание есть всегда. Также хотел отделить реализацию Singleton. Пытался делать отдельным классом, который потом унаследовал. Да конечно результат можно было предсказать, но желание сделать быстро отключило разум. Да ещё раз на практике усвоил свойства статических методов(один и тот же экземпляр не в зависимости схемы унаследований). Случайно нашёл этот паттерн. Код написан на Python. Основная суть паттерна в том, что создаётся статический список Класса - экземпляра класса. На Python для обёртки класса использовали декоратор. Для других языков можно подобным способом реализовать базовый класс.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий