2017-02-12 3 views
1

Ich erstelle eine Bibliothek und eine dumme Fragen kommt zu mir, was besser ist (zur Leistung und Speicher meine ich) Ich erstelle die Klassen mit statischen Methoden (einfacher zu verwenden) oder ich erstelle ein normale Klasse und wenn ich verwenden werde ich ein Objekt dieser Klasse erstellen, um seine Methoden aufzurufen? Ich bin wirklich in Zweifel. Vielen Dank.statische Methoden oder normale Methoden in Bibliotheken

Nebenbei habe ich eine Klasse erstellt, die die Log-Klasse ersetzen, um die Überprüfung zu machen, ob Debug oder Release-Version vor dem Drucken etwas, auf diese Weise habe ich nicht löschen jedes einzelne Protokoll Release-Version, das funktioniert perfekt, aber ich frage mich, ob sich auch auf die Leistung auswirken kann (im ersten Test, scheint mir das nicht), irgendjemand macht schon so etwas?

+0

Es ist im Grunde nicht verantwortlich, was Ihre Bibliothek in erster Linie tut? Welche Art von Problem löst es? oder gibt es keine solche library, die derzeit existiert, deshalb wollten sie ihre eigene bauen? – Enzokie

+1

@Enzokie eigentlich, meine Bibliothek ist nur mein Leben zu erleichtern. es löst kein spezifisches Problem, nur vermeiden, dass ich Codes wiederholen muss, die ich mehr verwende. Nur Methoden um zu überprüfen, ob es eine Verbindung gibt, ob Facebook, WhatsApp installiert sind, und so weiter ... Auf diese Weise kann ich die Antwort mit einer einzigen Codezeile bekommen. – Anita

Antwort

2

Es ist eine gute Frage.

Sie können mit statischen Methoden arbeiten, wenn diese Methoden nicht auf nicht statische Ressourcen der Klasse zugreifen müssen. Wenn sie nur unabhängige Dienstprogramm Methoden sind, dann ist es am besten, mit statischen Methoden zu gehen.

Wenn Sie jedoch mit einigen nicht statischen Mitgliedern der Klasse interagieren müssen, müssen Sie ein Objekt Ihrer Klasse erstellen und dann die Methoden daraus aufrufen. Statische Methoden eignen sich am besten als unabhängige Hilfsmethoden.

Sie müssen entscheiden, was Ihre Bibliothek tut und dann den besten Ansatz wählen. Wenn es eine Protokollierungsbibliothek ist und Methoden wie Log.d(), Log.e() hat, dann ist es am besten, mit statischen Methoden zu gehen. Wenn Sie mit dem nicht-statischen Ansatz gehen müssen, überprüfen Sie das Singleton Entwurfsmuster .