Du setzt deine Prioritäten falsch. Vorrang hat, dass dein Programm funktioniert. Nachrangig ist, dass du wenig Arbeit damit hast.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Performance bei großen Switch Blöcken oder PHP5 Magics
Einklappen
Neue Werbung 2019
Einklappen
X
-
-
Die "herkömmliche" Methode:
Code:class X { private $property; public function setProperty($property) { $this->property=$property; } public function getProperty() { return $this->property; } }
Kommentar
-
-
Die Prioritäten sind erstmal nicht relevant...
* Funktion? ist bei beiden Varianten gegeben
* Nachrangig wenig Arbeit? sehe ich auch kein Problem
* Performance? könnte ein Problem sein das versuche ich gerad zu klären ob der Performanceverlust überhaupt so groß ist das er sich bemerkbar macht.
zb. Thema unschön sag ich nur das du Java geblendet bist... in VB gibts die Propertys-Funktionen schon lange nur auf einer etwas anderen Art und Weise u. die Idee die dahinter steckt find ich richtig klasse:
Man hat ne Eigenschaft die wie eine Eigenschaft ansprechbar ist aber dennoch auf Fehler überprüft werden kann beim setten und getten...Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
Kommentar
-
Zitat von HStevMan hat ne Eigenschaft die wie eine Eigenschaft ansprechbar ist aber dennoch auf Fehler überprüft werden kann beim setten und getten...
Du solltest dir übrigens in der Beurteilung anderer Menschen nicht zuviel Kompetenz zumuten. Das geht zu oft schief.
Kommentar
-
-
Wo ist das Argument/der Vorteil für "wie eine Eigenschaft ansprechbar"?
Sorry, dass ich so hohe Deutschkenntnisse von meinen Diskussionspartnern erwarte...
Kommentar
-
Das Argument ist wie schon erwähnt: Geschmackssache. Gebe dir allerdings recht, dass eine Member-Zuweisung ohne offensichtliche setter-Methode bissl wischiwaschi is. Denn schließlich gibts für Validierung etc. Funktionen und Eigenschaften sollten nicht zweckentfremdet werden und mit heimlichen setter-Methoden validiert werden. Schließlich kann kein Anwender ahnen, dass ein
$object->member = "a";
durchaus ein
print $object->member; // = "b"
erzeugen kann, wenn eben die Setter-Methode für "member" noch irgendeine x-beliebige/unbekannte Operation auf den Wert ausführt.
Bei
$object->set("member", "a");
dürfte dem Entwickler klar sein, hier könnte eine setter-Funktion im Spiel sein
Edit:Sorry, dass ich so hohe Deutschkenntnisse von meinen Diskussionspartnern erwarte...
Kommentar
Kommentar