Информация об изменениях

Сообщение Re: static or singleton быть или не быть? И как быть? от 15.09.2016 23:42

Изменено 15.09.2016 23:46 antropolog

Здравствуйте, 0x00, Вы писали:

0>Доброго времени суток.

0>Возник вопрос по архитектуре, двоякая ситуация где можно использовать как singleton так и static.
0>Есть грубо говоря очередь рендера, наследовать\копировать как либо я не собираюсь и ограничиваюсь одним экземпляром.

1. очередь рендера -> RenderQueue
2. лучше неймспейс

// RenderQueue.h
class IRender;
namespace RenderQueue {
  void add(unsigned layer, IRender* object);
  void remove(IRender* object);
};


// RenderQueue.cpp
#include "RenderQueue.h"
#include <vector>

namespace RenderQueue {
  static std::vector<std::vector<IRender *>> render_objects;
  void add(unsigned layer, IRender* object);
  void remove(IRender* object);
};
Re: static or singleton быть или не быть? И как быть?
Здравствуйте, 0x00, Вы писали:

0>Доброго времени суток.

0>Возник вопрос по архитектуре, двоякая ситуация где можно использовать как singleton так и static.
0>Есть грубо говоря очередь рендера, наследовать\копировать как либо я не собираюсь и ограничиваюсь одним экземпляром.

1. очередь рендера -> RenderQueue
2. лучше неймспейс

// RenderQueue.h
class IRender;
namespace RenderQueue {
  void add(unsigned layer, IRender* object);
  void remove(IRender* object);
};


// RenderQueue.cpp
#include "RenderQueue.h"
#include <vector>

namespace RenderQueue {
  static std::vector<std::vector<IRender *>> render_objects;
  
  void add(unsigned layer, IRender* object) {
    // implementation
  }
  
  void remove(IRender* object) {
    // implementation    
  }
};