pl: Namenskollision

Beitrag lesen

ich hab n kleines Problem bezüglich Namenscollidierung.

Tja, Import ist eben nicht die Lösung. Nette Erfahrung ;)

Lösung: Baue eine Klassenhierarchie, dann sind die Konflikte weg

  Core
    Core::Model
      Core::Model::Foo
      Core::Model::Bar
    Core::View
      Core::View::Foo
      Core::View::Bar
    Core::Controller
      Core::Controller::View
      Core::Controller::Bar

auserdem müssen die ja aufeinander intern zugreifen.

Eine Möglichkeit ist über Vererbung gegeben, Erbfolge siehe oben. Die andere Möglichkeit besteht darin, Methoden zu delegieren, zB:

Eine Instanz der Klasse Core::View::Foo bekommt eine Instanz der Klasse Core::Controller::View als Eigenschaft und kann somit Methoden der Klasse Core::Controller::View ausführen.

MfG