« Urlaub fertisch | Main| DevExpress auf Windows RC 7 »

Getter und Setter

0
Category   

Jeder der sich ein bisserl mit Java auskennt hat diese bestimmt schon gesehen die Getter und Setter

die meisten implementierungen sehen ja in der Art aus ->
void setAttribute( xAttribute : Type) { m_Attribute = xAttribute } und Type getAttribute { return m_Attribiute } oder so ähnlich

In C# gibt es ja auch die Properties Möchte nicht wissen,wieviele implementierung wie diese aussehen ->

class Pen {
   private int m_Color; // private field
   public int Color   // public property {
       get {return m_Color;}
       set {m_Color = value;}
   }
}

Das immer wieder genannte Argument für obige Implementierung ist -> Man kann später noch Code einfügen, wie z.B. Validierungen, aber mal ehrlich wie oft passiert es
Weiters wäre es auch kein Problem zuerst ein Public Field zu nehmen und wenn sich später herausstellt, dass man wirklich validierungen u.a. einbauen möchte, könnte man das Property einfügen. An den Aufrufen ausserhalb würde ich nichts ändern, einmal compile und geht.

Da  sich dieser Ansatz verbreitet hat, ist wohl wie mit den Fliegen und dem S-Wort

Hat sich hierzu ein "Anti-Pattern" ergeben, welches auch noch andere Vorteile hat -> Fluent Interface.
Die grundsätzliche Idee dahinter ist, dass jedes Methode eine Referenz auf das Objekt zurück gibt. Hierdurch lassen sich dann Konstrukte wie folgende Bilden -> person.select("*").from("Person").where("Firstname = 'Peter'").orderby(1)  es sieht nicht nur nett aus sondern lässt sich auch gut lesen

Hier noch zwei weitere Links ->
Martin Fowler -> Fluent Interface
www.fluent-interfaces.com

Gruß JJR


 

Comments

Gravatar Image1 - ZendFramework versucht das in PHP durchzuziehen ... geht gut von der Hand Emoticon

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2