Questions marquées «encapsulation»

6
Chaînage de méthodes vs encapsulation
Il y a le problème classique de POO de chaînage de méthodes vs méthodes de "point d'accès unique": main.getA().getB().getC().transmogrify(x, y) contre main.getA().transmogrifyMyC(x, y) La première semble avoir l'avantage que chaque classe n'est responsable que d'un ensemble plus petit d'opérations, et rend tout beaucoup plus modulaire - l'ajout d'une méthode à …

5
Puis-je utiliser l'injection de dépendance sans interrompre l'encapsulation?
Voici ma solution et mes projets: Librairie (solution) BookStore.Coupler (projet) Bootstrapper.cs BookStore.Domain (projet) CreateBookCommandValidator.cs CompositeValidator.cs IValidate.cs IValidator.cs ICommandHandler.cs BookStore.Infrastructure (projet) CreateBookCommandHandler.cs ValidationCommandHandlerDecorator.cs BookStore.Web (projet) Global.asax BookStore.BatchProcesses (projet) 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
Utiliser des classes d'amis pour encapsuler des fonctions de membre privé en C ++ - bonne pratique ou abus?
J'ai donc remarqué qu'il est possible d'éviter de mettre des fonctions privées dans les en-têtes en faisant quelque chose comme ceci: // 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 …






En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.