AFAIK bietet drei gängige Methoden, um die Wiederverwendbarkeit von OOP zu implementieren Vererbung: Normalerweise ist es eine Beziehung (eine Ente ist ein Vogel). Zusammensetzung: in der Regel zur Darstellung hat eine Beziehung (ein Auto hat einen Motor) Eigenschaften (zB das Schlüsselwort trait in PHP): ... da bin ich mir nicht …
Wir führen viele Unit-Tests und Refactoring-Vorgänge für unsere Geschäftsobjekte durch, und ich habe anscheinend ganz andere Meinungen zum Klassendesign als andere Kollegen. Eine Beispielklasse, von der ich kein Fan bin: public class Foo { private string field1; private string field2; private string field3; private string field4; private string field5; public …
Es gibt einen Teil unserer Codebasis, der im folgenden Stil geschrieben ist: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List<IScheduledTask> Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl …
Ein Teil meines Programms ruft Daten aus vielen Tabellen und Spalten in meiner Datenbank zur Verarbeitung ab. Einige der Spalten sind möglicherweise vorhanden null, aber im aktuellen Verarbeitungskontext ist dies ein Fehler. Dies sollte "theoretisch" nicht passieren. Wenn dies der Fall ist, deutet dies auf fehlerhafte Daten oder einen Fehler …
Ich habe dieses Wiki über das Stable Abstractions Principle (SAP) gelesen . Die SAP gibt an, dass ein Paket umso abstrakter sein sollte, je stabiler es ist. Dies bedeutet, dass ein Paket, das weniger stabil ist (sich eher ändert), konkreter sein sollte. Was ich nicht wirklich verstehe, ist, warum dies …
Beim Googeln werden viele Antworten zu diesem Thema angezeigt. Ich habe jedoch nicht das Gefühl, dass einer von ihnen den Unterschied zwischen diesen beiden Merkmalen gut veranschaulicht. Also würde ich es gerne noch einmal versuchen, speziell ... Was kann mit Selbsttypen und nicht mit Vererbung getan werden und umgekehrt? Für …
Wenn ich eine Variable habe, die a Listenthält, kann sie Objekte vieler verschiedener Typen enthalten, z . B. ArrayListoder LinkedList. Der Unterschied zwischen a LinkedListund an ArrayListist ziemlich groß. Das große O-Verhalten der Methoden ist sehr unterschiedlich. Zum Beispiel ist das Sortieren Listund anschließende Verwenden für binäre Suchen für a …
Ich frage mich nur, welche Funktionen eine Sprache oder Bibliothek genau bieten muss, damit sie als "objektorientiert" definiert werden kann. Ist Objektorientierung etwas, das mehr oder weniger in jeder universellen Programmiersprache mit anständigen Funktionen erreicht werden kann? Oder kann dies nur in Sprachen erreicht werden, die ausdrücklich dafür werben, dass …
Ich habe einige Helferklassen in meinem Projekt. Ich habe gelesen, dass dies eine schlechte Sache ist, aber ich vermute, dass "Helper" das falsche Suffix für sie ist. Ich werde ein Beispiel geben. Erstens habe ich eine UserKlasse. Ich brauche eine Methode GetSuggestedFriends()für einen Benutzer. Ich möchte die Logik zum Bestimmen …
Die Frage ist, ob es sinnvoll ist, einen Komponententest zu schreiben, der bestätigt, dass der aktuelle Thread der Haupt-Thread ist. Für und Wider? Kürzlich habe ich den Unit-Test gesehen, der den aktuellen Thread für den Rückruf des Dienstes bestätigt. Ich bin mir nicht sicher, ob es eine gute Idee ist. …
Wir haben eine Web-App, in der wir viele (> 50) kleine WebComponents haben , die miteinander interagieren. Um alles entkoppelt zu halten, haben wir in der Regel, dass keine Komponente direkt auf eine andere verweisen kann. Stattdessen lösen Komponenten Ereignisse aus, die dann (in der "Haupt" -App) verdrahtet werden, um …
Ich habe kürzlich eine Debatte mit einem anderen Entwickler über die folgende Klasse geführt: public class GroupBillingPayment { public void Save(IGroupBillingPayment model) { if (model == null || UserInfo.UserID == 0) { throw new Exception("GroupBillingPayment object or Current User Id is NULL , Please Contact Administrator."); } Data.GroupBillingPayment groupBillingPayment = …
Ich erstelle oft Programme für mich und andere mit verschiedenen objektorientierten Programmiersprachen. Dabei sind sie normalerweise relativ klein (höchstens einige tausend Zeilen). In letzter Zeit habe ich jedoch versucht, größere Projekte wie komplette Spiel-Engines zu realisieren. Dabei stoße ich oft auf eine Straßensperre: Komplexität. In meinen kleineren Projekten fällt es …
Ich arbeite an einer App für Universitäten. Der Fall ist folgender: Jede Universität hat mehrere akademische Programme. Jedes Programm hat viele Fächer (Module). Jedes Fach kann an verschiedenen Orten angeboten werden. Das akademische Jahr ist in Semester unterteilt und jedes Semester dauert mehrere Wochen. Nicht alle Module werden in jedem …
Ich habe eine vorhandene Klasse, die interagiert und eine Datei öffnen, lesen oder schreiben kann. Ich muss eine Dateimodifikation abrufen, um eine neue Methode hinzuzufügen Angenommen, dies ist meine Klassendefinition, in der ich eine neue Methode hinzufügen möchte. class IO_file { std::string m_file_name; public: IO(); IO(std::string file_name); + time_t get_mtime(file_name); …
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.