Pure Property Klasse & pure Methoden Klassen



  • Ich wette Geld dass du das bloss falsch verstanden hast.



  • Okay Chef, das kann natürlich sein 😉

    Ich werde in den nächsten Tagen den Videoabschnitt mal verlinken. Vielleicht könnt ihr mich dann mal einnorden 🙂



  • Falke88 schrieb:

    Ich werde in den nächsten Tagen den Videoabschnitt mal verlinken.

    Ja, bitte tu das! 🙂



  • http://www.microsoftvirtualacademy.com/training-courses/moderne-softwareentwicklung

    Hier der Link.

    Es geht hierbei um Video/Modul -5- bzw. Erweiterbare Architektur. Die genaue Minute wann der werte Herr das Thema anspricht ist bei ca. 06:10min.

    Es geht um das Thema Entkopplung. Er spricht dort über den Unterbereich Trennung(Daten, Orchestierung, Logik). Er deutet sehr konkret darauf hin das er (und seine Firma) Klassen benutzen die entweder Properties haben oder Methoden.

    Zitat: "...Wir verwenden nur Klassen, die entweder nur Properties haben oder Methoden...Vorteile Entkopplung und Testbarkeit".

    Was sind nun eure Gedanken?



  • Reine Property-Klassen kenne ich eigentlich nur als sogenannte Datentransferobjekte. Reine Methodenklassen mögen manchmal vorkommen (gerade wenn die Sprache nur Methoden und keine Funktionen zulässt). Was durchaus vorkommen kann ist aber das eine Klasse ein Datentransferobjekt intern zur Datenhaltung verwendet.

    Aber das man inhaltlich zusammengehörige Daten und Methoden absichtlich trennt kenne ich nicht, und hat auch nicht viel mit Entkopplung und Testbarkeit zu tun. Bei der Entkopplung für die Testbarkeit werden eigentlich nur die Zugriffe auf andere Elemente über Schnittstellen (die man z.B. mittels IOC austauschen kann) entkoppelt (z.B. Datenbankzugriffe).



  • Hallo zusammen,

    ich habe mir gerade das Video angeschaut.
    Ich denke, die Aussage bezieht sich auf den Part "Komponentenorientierte Architektur" (ab 8:22min), d.h. auf die Benutzung von DataContracts (reine Property-Klassen) und OperationContracts (Schnittstelle mit Methoden) - ab 9:30min sieht man ein Beispiel dazu.



  • Ok das sind einzige Begrifflichkeiten die ich demnach erstmal kennen und verstehen sollte, bevor ich das Thread Thema nachvollziehen kann.

    Kann mir jemand Video/Lese-Quellen offenbaren damit ich mich mit "DataContracts", "OperationContracts" auseinander setzen kann? Also gute Empfehlungen, ansonsten such ich nach dem ersten besten hit bei Google 😉



  • Falke88 schrieb:

    Kann mir jemand Video/Lese-Quellen offenbaren damit ich mich mit "DataContracts", "OperationContracts" auseinander setzen kann? Also gute Empfehlungen, ansonsten such ich nach dem ersten besten hit bei Google 😉

    Kurz gesagt kommen DataContracts und OperationContracts in SOA und Webschnittstellen zum Einsatz. Da hast du tatsächlen den Fall das es Datentransferobjekte gibt, die nur aus Properties bestehen, da diese z.B. als JSON, XML... übergeben werden, und die andere Seite nicht zwangsweise .Net ist. Die OperationContracts entsprechen wiederum der Serviceschnittstelle (z.B. abgebildet auf einen Link in der Form

    http://.../artikel/4711
    

    für die Abfrage eines Artikels mit der Id 4711).



  • @Falke88
    Ein etwas allgemeinerer Begriff zu dem Thema wäre "anemic domain model". Das beschreibt mehr oder weniger genau das was man bei Webservices macht - allerdings ohne die Einschränlung auf eine spezielle Technologie.

    http://en.wikipedia.org/wiki/Anemic_domain_model

    Dabei hat man auch reine Datenklassen ("nur Properties" -- wobei es auch genau so gut nur "public fields" sein könnten), und dann "Arbeiterklassen" (Serviceklassen) mit Methoden die irgendwas mit den in den Datenklassen enthaltenen Daten machen.

    Das hat bestimmte Vorteile aber eben auch Nachteile - im Wikipediaartikel steht dazu auch ein bisschen was.



  • Alles klar, danke euch für den Deutschuss!



  • @Falke88: Meintest du jetzt wirklich Deutschuss? 😕



  • Th69 schrieb:

    @Falke88: Meintest du jetzt wirklich Deutschuss? 😕

    Ha...ja.

    Bin zZt. Fallschirmjäger und somit ist der Deutschuss im übertragenen Sinn zu verstehen wie "Aufklärung" 😛

    Wohin der Schütze seinen Deutschuss hinzaubert, dort sitzt auch meist der Feind - somit habt ihr mir 'nen Deutschuss zum Verständnis gegeben 😉


Anmelden zum Antworten