Revision as of 09:32, 3 Apr 2007 WikiSysop (Talk | contribs) ← Go to previous diff |
Current revision WikiSysop (Talk | contribs) |
||
Line 1: | Line 1: | ||
==Синглтон== | ==Синглтон== | ||
- | В ООП синглтон (Singleton pattern) — это объект, существующий в единственном экземпляре во все время выполнения программы. Обычно синглтонами делаются различные сервисные объекты, управляющие некоторым глобальным в контексте программы процессом. В GEANT4 все объекты-менеджеры являются синглтонами. | + | В ООП синглтон (Singleton pattern) — это объект, существующий в единственном экземпляре во все время выполнения программы. Обычно синглтонами делаются различные сервисные объекты, управляющие некоторым глобальным в контексте программы процессом. В GEANT4 многие объекты-менеджеры являются синглтонами. |
Конструкторы у классов-синглтонов обычно закрыты, объект автоматически создается во время запуска программы, а доступ к нему производится через статическую функцию член, например, как у [[G4RunManager]]: | Конструкторы у классов-синглтонов обычно закрыты, объект автоматически создается во время запуска программы, а доступ к нему производится через статическую функцию член, например, как у [[G4RunManager]]: |
Current revision
[edit]
Синглтон
В ООП синглтон (Singleton pattern) — это объект, существующий в единственном экземпляре во все время выполнения программы. Обычно синглтонами делаются различные сервисные объекты, управляющие некоторым глобальным в контексте программы процессом. В GEANT4 многие объекты-менеджеры являются синглтонами.
Конструкторы у классов-синглтонов обычно закрыты, объект автоматически создается во время запуска программы, а доступ к нему производится через статическую функцию член, например, как у G4RunManager:
// Определение (в GEANT4) class G4RunManager { public: static G4RunManager* GetRunManager(); }; // Использование (в коде) G4RunManager::GetRunManager->BeamOn(1000); // Запустить 1000 событий
[edit]