2009-12-31 7 views
12

Gibt es in PHP irgendwelche Leistungseinbußen bei der Verwendung einer langen Klasse mit vielen Funktionen? Oder ist es ratsam, viele kleine Klassen zu verwenden und sie bei Bedarf separat aufzurufen?Eine lange Klasse oder viele kürzere Klassen?

Ich bin ein Neuling in OOPS und bitte ignorieren Sie alle Dummheiten in der Frage. Vielen Dank.

+2

+1 für eine gute Frage :) – Sarfraz

+0

Dies wird hilfreich sein http://stackoverflow.com/questions/1959295/i-cant-create-clear-picture-of-implementing-oops-concepts-though- Ich verstehe –

+0

Ich denke, dass es eine schulweite Abstimmung geben sollte und sehen, wie viel Prozent wir uns vorstellen. und nicht nur das, sondern würde berechnen, wäre die Statistik, bevor Sie etwas in Frage stellen. Nun, das ist nur meine Perspektive (: –

Antwort

9

Es ist ratsam, nicht über die Leistung nachzudenken, bevor Sie den Code haben. Aus Sicht der Wartbarkeit und Verständlichkeit sind natürlich kleinere Klassen mit kleineren Methoden überlegen. (siehe The Single Responsibility Principle)

Wenn Sie optimieren müssen, können Sie wirklich (wirklich) Ihren gesamten Code in eine einzige große Datei zusammenstellen und etwas Zeit auf include-s sparen.

+0

Danke für die Worte! – Nirmal

5

Denken Sie zuerst an sauberes OOP-Design.

Sehr lange Klassen mit vielen Methoden und Eigenschaften sind sehr schwer zu verstehen.

Eine Reihe von gut entworfenen Klassen mit aussagekräftigen Klassennamen, Methodennamen und Variablennamen sind sehr einfach zu verstehen, besonders wenn es um Wartungsintervalle geht.

0

Sie können und sollten Dinge in dieselbe Klasse einfügen, solange sie direkt mit der Logik der von Ihnen erstellten Klasse in Beziehung stehen. Größe der Klasse bedeutet nicht viel, wenn Sie den OOP-Konzepten folgen.

0

Persönlich für mich würde ich viel lieber die Klassen in kleinere Dateien basierend auf was sie sind für brechen. Wenn das Business-Objekte sind, dann wäre eine 'customer.class.php' 'account.class.php' usw. meine Präferenz.

In den meisten Projekten, in denen ich gearbeitet habe, war es so, dann eine größere 'lib' oder 'common' Datei, die viele verschiedene Funktionen enthält, die überall benutzt werden.

2

Im Allgemeinen neigen Menschen dazu, Klassen zu erstellen, die zu groß und komplex sind - weil es oft schwierig ist zu erkennen, wo die Kohäsionsgrenzen liegen. Wenn du also anfängst und ein bisschen unsicher bist, ist es besser, auf der Seite zu ärgern, sie zu klein zu machen: du kannst immer kleinere Klassen zu größeren verschmelzen ... es ist oft viel schwieriger, eine große Klasse in mehrere kleine Klassen umzuwandeln Einsen.

0

Für die Aufzeichnung ist die Größe nicht der wichtige Teil in einer Klasse zu betrachten. Was für eine Klasse der Schlüssel ist, sind die Abhängigkeiten der Klassen.

Zum Beispiel sollte eine Klasse, die in der Datenbank hängt, in einer speziellen Klasse, wie z. B. einer Repository/Dao/Dal/Persistence-Klasse, getrennt werden.

Verwandte Themen