вили класс MyClass производным

Автор admin Четверг, 18 июня 2009 11:32

вили класс MyClass производным от Singleton. Рекурсия на шаге 3 кажется невозможной, но как объяснялось в главе 5, она работает, поскольку в шаблоне Singleton существует только статическая зависимость от аргумента. Иначе говоря, компилятор может генерировать код Singleton, потому что он не зависит от размера MyClass. Информация о размере MyClass становится необходимой только позднее, при первом вызове функции Singleton::instance(), но к этому времени класс MyClass уже откомпилирован, а его размер известен. Интересно, насколько нетривиальным может оказаться даже такой простой паттерн, как Синглет — а ведь мы даже не начинали рассматривать вопросы безопасности программных потоков. И последнее. Синглет следует применять осмотрительно. Действительно синглетные объекты встречаются редко, а задействовать Синглет для замены глобальной переменной — последнее дело. Команда Со структурной точки зрения паттерн Команда (Command) очень прост, однако он помогает ослабить привязку компонентов программы, а следовательно, делает программу более понятной. 482 Глава 10 • Паттерны проектирования


Комментарии закрыты.