Als «encapsulation» getaggte Fragen

6
Methodenverkettung vs. Verkapselung
Es gibt das klassische OOP-Problem der Methodenverkettung im Vergleich zu "Single-Access-Point" -Methoden: main.getA().getB().getC().transmogrify(x, y) vs main.getA().transmogrifyMyC(x, y) Die erste scheint den Vorteil zu haben, dass jede Klasse nur für eine kleinere Menge von Operationen verantwortlich ist und alles viel modularer macht - das Hinzufügen einer Methode zu C erfordert keinen …

5
Kann ich Dependency Injection verwenden, ohne die Kapselung zu beschädigen?
Hier ist meine Lösung und Projekte: BookStore (Lösung) BookStore.Coupler (Projekt) Bootstrapper.cs BookStore.Domain (Projekt) CreateBookCommandValidator.cs CompositeValidator.cs IValidate.cs IValidator.cs ICommandHandler.cs BookStore.Infrastructure (Projekt) CreateBookCommandHandler.cs ValidationCommandHandlerDecorator.cs BookStore.Web (Projekt) Global.asax BookStore.BatchProcesses (Projekt) Program.cs Bootstrapper.cs : public static class Bootstrapper.cs { // I'm using SimpleInjector as my DI Container public static void Initialize(Container container) { container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), …


1
Verwenden von Friend-Klassen, um private Member-Funktionen in C ++ zu kapseln - bewährte Methoden oder Missbrauch?
Ich bemerkte also, dass es möglich ist, das Einfügen privater Funktionen in Kopfzeilen zu vermeiden, indem man Folgendes ausführt: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == …










1
JavaScript-Objekte und Crockfords The Good Parts
Ich habe in letzter Zeit ziemlich viel darüber nachgedacht, wie man OOP in JS macht, insbesondere wenn es um Kapselung und Vererbung geht. Laut Crockford ist klassisch aufgrund von new () schädlich, und sowohl prototypisch als auch klassisch sind begrenzt, da die Verwendung von constructor.prototype bedeutet, dass Sie keine Verschlüsse …

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.