Синглтон

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

Синглтон

В ООП синглтон (Singleton pattern) — это объект, существующий в единственном экземпляре во все время выполнения программы. Обычно синглтонами делаются различные сервисные объекты, управляющие некоторым глобальным в контексте программы процессом. В GEANT4 многие объекты-менеджеры являются синглтонами.

Конструкторы у классов-синглтонов обычно закрыты, объект автоматически создается во время запуска программы, а доступ к нему производится через статическую функцию член, например, как у G4RunManager:

// Определение (в GEANT4)
class G4RunManager
{
public:
  static G4RunManager* GetRunManager();
};

// Использование (в коде)
G4RunManager::GetRunManager->BeamOn(1000); // Запустить 1000 событий



Объекты-менеджеры:

Edit page