Hi,
bislang habe ich immer ein Package mit statischen Utility-Klassen gehabt, die ich dann in verschiedenen anderen Klassen aufgerufen habe. Jetzt frage ich mich, ob ich diese statischen Klassen nicht wieder "nicht statisch" machen sollte und mir bei Bedarf eine Instanz dieser Klasse in meinen "normalen" Klassen erzeugen sollte. Quasi würde ich static rauswerfen und überall den statischen Aufruf durch Komposition ersetzen.
Meine Gedanken bzw. Fragen dazu:
- Wenn ich dies durchgängig in Methodenaufrufen (also lokal) machen würde, könnte ich doch den Heap etwas entlasten, weil die Lebensdauer der "Utility"-Instanz auf den Stack beschränkt ist. Ich weiss jedoch nicht genau, ob/wann statische Klassen auf dem Heap erzeugt werden.
- Ich weiss nicht (mehr) genau wie man statische Klassen in UML darstellen kann. Wird dies evtl über eine Assoziation dargestellt? Wenn dies so wäre, würde sich beim Design ja nicht sehr viel ändern.
Ehrlich gesagt fallen mir schon keine Fragen mehr dazu ein . Ich würde nur gerne Wissen, ob dieser Ansatz humbug ist oder dem Gedanken der OOP entspricht.
Cu
Alex
bislang habe ich immer ein Package mit statischen Utility-Klassen gehabt, die ich dann in verschiedenen anderen Klassen aufgerufen habe. Jetzt frage ich mich, ob ich diese statischen Klassen nicht wieder "nicht statisch" machen sollte und mir bei Bedarf eine Instanz dieser Klasse in meinen "normalen" Klassen erzeugen sollte. Quasi würde ich static rauswerfen und überall den statischen Aufruf durch Komposition ersetzen.
Meine Gedanken bzw. Fragen dazu:
- Wenn ich dies durchgängig in Methodenaufrufen (also lokal) machen würde, könnte ich doch den Heap etwas entlasten, weil die Lebensdauer der "Utility"-Instanz auf den Stack beschränkt ist. Ich weiss jedoch nicht genau, ob/wann statische Klassen auf dem Heap erzeugt werden.
- Ich weiss nicht (mehr) genau wie man statische Klassen in UML darstellen kann. Wird dies evtl über eine Assoziation dargestellt? Wenn dies so wäre, würde sich beim Design ja nicht sehr viel ändern.
Ehrlich gesagt fallen mir schon keine Fragen mehr dazu ein . Ich würde nur gerne Wissen, ob dieser Ansatz humbug ist oder dem Gedanken der OOP entspricht.
Cu
Alex