Als «encapsulation» getaggte Fragen


15
Warum brauchen wir private Variablen?
Warum brauchen wir private Variablen in Klassen? Jedes Buch über Programmierung, das ich gelesen habe, besagt, dass dies eine private Variable ist, so definiert man es, hört aber dort auf. Der Wortlaut dieser Erklärungen kam mir immer so vor, als hätten wir wirklich eine Vertrauenskrise in unseren Beruf. Die Erklärungen …


10
Verwenden Sie Bibliotheken von Drittanbietern - verwenden Sie immer einen Wrapper?
Die meisten Projekte, an denen ich beteiligt bin, verwenden mehrere Open-Source-Komponenten. Ist es grundsätzlich eine gute Idee, immer zu vermeiden, dass alle Komponenten des Codes an die Bibliotheken von Drittanbietern gebunden werden, und stattdessen einen Kapselungswrapper zu verwenden, um den Schmerz der Veränderung zu vermeiden? Zum Beispiel verwenden die meisten …

13
Warum ist es für „niedrigere“ Anwendungsebenen eine gute Idee, sich der „höheren“ nicht bewusst zu sein?
In einer typischen (gut gestalteten) MVC-Webanwendung kennt die Datenbank den Modellcode nicht, der Modellcode kennt den Controller-Code nicht und der Controller-Code kennt den Ansichtscode nicht. (Ich stelle mir vor, Sie könnten sogar so weit wie die Hardware oder sogar noch weiter unten beginnen, und das Muster könnte dasselbe sein.) Wenn …

8
Was sollte in Gettern und Setzern erlaubt sein?
Ich geriet in eine interessante Internet-Auseinandersetzung über Getter- und Setter-Methoden und Verkapselung. Jemand sagte, dass alles, was sie tun sollten, eine Zuweisung (Setter) oder ein variabler Zugriff (Getter) sei, um sie "rein" zu halten und die Kapselung sicherzustellen. Habe ich recht, dass dies den Zweck, Getter und Setter zu haben, …


10
Senden Sie im Allgemeinen Objekte oder deren Mitgliedsvariablen in Funktionen?
Welches ist allgemein akzeptierte Praxis zwischen diesen beiden Fällen: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } oder function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } Mit anderen Worten, ist es im Allgemeinen besser, ganze Objekte herumzuleiten oder nur die Felder, die Sie benötigen?

6
Soll ich Funktionen, die nur in einer anderen Funktion verwendet werden, innerhalb dieser Funktion platzieren?
Insbesondere schreibe ich in JavaScript. Angenommen, meine primäre Funktion ist Funktion A. Wenn Funktion A mehrere Aufrufe von Funktion B ausführt, Funktion B jedoch nirgendwo anders verwendet wird, sollte ich Funktion B dann einfach in Funktion A einfügen? Ist das eine gute Übung? Oder sollte ich die Funktion B trotzdem …







Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.