Autor Wątek: Przekazywanie wskaznika do nieistniejacego obiektu  (Przeczytany 1662 razy)

Offline Santor

  • Użytkownik

# Lipiec 21, 2012, 09:40:12
A  dlaczego nie? Jak kazda podklasa dostanie taki wskaznik to bedzie mogla sobie grzebac praktycznie w calym programie jesli bedzie tego potrzebowala, a mi cos takiego odpowiada.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Avaj

  • Użytkownik

# Lipiec 21, 2012, 10:13:32
Singletonów nie przekazujesz bo one są globalnie dostępne.

A odnośnie tego czy całą klasę przekazać czy tylko to czego używa - może to być niewygodne, ale praktyki poprawnego OOPu mówią, że przekazywać tylko to co jest najbardziej potrzebne i minimalizować zależności.

Offline Santor

  • Użytkownik

# Lipiec 21, 2012, 10:32:37
Tak myslalem ze ktos mi wyjedzie z zasadami poprawnego OPP. Ja chce programowac tak zeby dzialalo w miare plynnie i zeby bylo dla mnie wygodnie przy pisaniu. Nie bardzo mnie obchodza jakies sztuczne zasady. Jak sa dla kogos wygodne niech je stosuje, dla mnie niezbyt.

W moim sigletonie zawarte sa inne klasy. I zeby metody obiektow tych klas mogly komunikowac sie z innymi klasami potrzebuja wlasnie wskaznika do singletona.
« Ostatnia zmiana: Lipiec 21, 2012, 10:37:26 wysłana przez Santor »

Offline Avaj

  • Użytkownik

# Lipiec 21, 2012, 11:13:13
no ale do czego zmierzam, singletona nie trzeba przekazywać bo inne klasy go i tak widzą, np:

class GameSingleton
{
  public:
    ResourceManager resman;
    InnaKlasa klasa;

  private:
    GameSingleton() {};
  public:
    static GameSingleton& getInstance()
    {
      static GameSingleton gameSingleton;
      return gameSingleton;
    }
};

class CosCoKorzystaZResManagera
{
  void doSomething()
  {
    Texture tex = GameSingleton::getInstance().resman.getResource("aaa.png");
  }
};

nic nie trzeba przekazywać, bo singleton jest globalny z definicji

Offline Santor

  • Użytkownik

# Lipiec 21, 2012, 16:48:28
A tego nie wiedziałem, przyda sie.

Offline Veldrin

  • Użytkownik

# Lipiec 21, 2012, 19:30:40
To bardzo dobrze, że się dowiedziałeś, właśnie mi tak coś wszystko w tym nie pasowało.

Czyli co wiedziałeś o singletonie? Że może być jedna instancja? Skoro to wiedziałeś, to dziwi mnie skąd brak wiedzy o drugim ficzerku o dostępie - są to dosyć powiązane rzeczy.