In einem Code, den ich überprüfe, sehe ich Dinge, die dem folgenden moralischen Äquivalent entsprechen: public class Foo { private Bar bar; public MethodA() { bar = new Bar(); bar.A(); bar = null; } public MethodB() { bar = new Bar(); bar.B(); bar = null; } } Das Feld barhier …
Downcasting bedeutet das Umwandeln von einer Basisklasse (oder Schnittstelle) in eine Unterklasse oder Blattklasse. Ein Beispiel für einen Downcast könnte sein, wenn Sie von System.Objectzu einem anderen Typ wechseln. Downcasting ist unbeliebt, vielleicht ein Code-Geruch: Objektorientierte Doktrin ist es beispielsweise vorzuziehen, virtuelle oder abstrakte Methoden zu definieren und aufzurufen, anstatt …
Was ist der Unterschied zwischen den beiden folgenden UpdateSubject-Methoden? Ich fand es besser, statische Methoden zu verwenden, wenn Sie nur mit den Entitäten arbeiten möchten. In welchen Situationen sollte ich nicht statische Methoden anwenden? public class Subject { public int Id {get; set;} public string Name { get; set; } …
Das Prinzip der Einzelverantwortung besagt, dass eine Klasse nur eines tun sollte. Einige Fälle sind ziemlich eindeutig. Andere sind jedoch schwierig, weil das, was auf einer bestimmten Abstraktionsebene als "eine Sache" betrachtet wird, auf einer niedrigeren Ebene mehrere Dinge sein kann. Ich befürchte auch, dass, wenn das Prinzip der Einzelverantwortung …
Heute hatte ich einen Streit mit jemandem. Ich habe die Vorteile eines Rich-Domain-Modells im Vergleich zu einem anämischen Domain-Modell erläutert. Und ich habe meinen Standpunkt mit einer einfachen Klasse demonstriert, die so aussieht: public class Employee { public Employee(string firstName, string lastName) { FirstName = firstName; LastName = lastname; } …
Ich bin noch ein Schüler in der High School (in der 10. Klasse) und ich muss noch einen Computerkurs in der Schule belegen. Alles, was ich bisher getan habe, ist durch Bücher. Diese Bücher haben mir Konzepte wie Vererbung beigebracht, aber wie hilft es, ein Programm in mehrere Klassen aufzuteilen? …
Die Hauptidee hinter OOP ist die Vereinheitlichung von Daten und Verhalten in einer einzigen Entität - dem Objekt. Bei der prozeduralen Programmierung gibt es Daten und separate Algorithmen, die die Daten modifizieren. In dem Model-View-Controller-Muster sind die Daten und die Logik / Algorithmen in unterschiedlichen Einheiten, dem Modell bzw. dem …
Ich hatte eine sehr anregende und interessante Diskussion mit einem Kollegen über ORM und seine Vor- und Nachteile. Meiner Meinung nach ist ein ORM nur in den seltensten Fällen nützlich. Zumindest nach meiner Erfahrung. Aber ich möchte meine eigenen Argumente derzeit nicht auflisten. Also frage ich dich, was denkst du …
Problemzusammenfassung: Kurz gesagt, ich habe eine Codebasis und ein Entwicklungsteam geerbt, das ich nicht ersetzen darf, und die Verwendung von God Objects ist ein großes Problem. In Zukunft möchte ich, dass wir die Dinge neu faktorisieren, aber ich werde von den Teams zurückgedrängt, die alles mit God Objects machen wollen, …
Das vielleicht größte Versprechen bei der Verwendung eines objektorientierten Paradigmas ist die Wiederverwendung von Code. Einige bestreiten, dass dies erreicht wurde. Warum wurde es (nicht) erreicht? Wird Code nach OOP wiederverwendet, um die Produktivität von Projekten zu steigern? Oder überschaubarer? Oder einfacher zu warten? Oder mit mehr Qualität? Wahrscheinlich sind …
Ich beende gerade mein Masterstudium (in Informatik) und bewerbe mich um eine Stelle. Ich habe bemerkt, dass viele Unternehmen speziell nach einem Verständnis der Objektorientierung fragen. Beliebte Interviewfragen betreffen Vererbung, Polymorphismus, Zugriffsmethoden usw. Ist OO wirklich so wichtig? Ich hatte sogar ein Interview für einen Programmierjob in C und die …
C ++ hat eine einfache Mehrfachvererbung, viele Sprachentwürfe verbieten es als gefährlich. Einige Sprachen wie Ruby und PHP verwenden jedoch eine seltsame Syntax, um das Gleiche zu tun und nennen es Mixins oder Merkmale. Ich habe oft gehört, dass Mixins / Merkmale schwerer zu missbrauchen sind als Mehrfachvererbung. Was macht …
Wo ich arbeite, sehe ich viele Klassen, die solche Dinge tun: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } …
Ich habe gesehen, dass es sich häufig wiederholt. Die objektorientierte Programmierung basiert auf der Modellierung der realen Welt, aber ist es das? Es scheint mir, dass dies für nichts außerhalb der Geschäftsschicht zutrifft. Meine GUI-Klassen / Datenzugriffsklassen modellieren nichts in der realen Welt. Selbst in meiner Geschäftsebene habe ich Klassen …
Was ist der Zweck von IOC-Containern? Die kombinierten Gründe dafür können auf das Folgende vereinfacht werden: Bei Verwendung der OOP / SOLID-Entwicklungsprinzipien wird die Abhängigkeitsinjektion unordentlich. Entweder haben Sie die obersten Einstiegspunkte, die Abhängigkeiten für mehrere Ebenen unter sich verwalten und Abhängigkeiten rekursiv durch die Konstruktion leiten, oder Sie haben …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.