Preguntas etiquetadas con encapsulation

6
Método de encadenamiento vs encapsulación
Existe el clásico problema OOP de encadenamiento de métodos versus métodos de "punto de acceso único": main.getA().getB().getC().transmogrify(x, y) vs main.getA().transmogrifyMyC(x, y) La primera parece tener la ventaja de que cada clase solo es responsable de un conjunto más pequeño de operaciones, y hace que todo sea mucho más modular : …

5
¿Puedo usar la inyección de dependencia sin romper la encapsulación?
Aquí está mi solución y proyectos: Librería (solución) BookStore.Coupler (proyecto) Bootstrapper.cs BookStore.Domain (proyecto) CreateBookCommandValidator.cs CompositeValidator.cs IValidate.cs IValidator.cs ICommandHandler.cs BookStore.Infrastructure (proyecto) CreateBookCommandHandler.cs ValidationCommandHandlerDecorator.cs BookStore.Web (proyecto) Global.asax BookStore.BatchProcesses (proyecto) 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
Usar clases de amigos para encapsular funciones de miembros privados en C ++: ¿buenas prácticas o abuso?
Entonces noté que es posible evitar poner funciones privadas en los encabezados haciendo algo como esto: // 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 == 5; // or …







7
Separación de preocupaciones: ¿Cuándo es la separación "demasiado"?
Realmente amo el código limpio y siempre quiero codificar mi código de la mejor manera posible. Pero siempre había una cosa que realmente no entendía: ¿Cuándo es demasiado de "separación de preocupaciones" con respecto a los métodos? Digamos que tenemos el siguiente método: def get_last_appearance_of_keyword(file, keyword): with open(file, 'r') as …



1
Objetos JavaScript y Crockford's The Good Parts
He estado pensando bastante sobre cómo hacer OOP en JS, especialmente cuando se trata de encapsulación y herencia, recientemente. Según Crockford, el clásico es dañino debido a new (), y tanto el prototipo como el clásico están limitados porque su uso de constructor.prototype significa que no puede usar cierres para …

6
¿Cómo se usa la encapsulación para la seguridad?
Estoy aprendiendo OOP. He estudiado mucho sobre la encapsulación, pero cuanto más leía, más me confundía. Entiendo que ocultamos (al hacer privados) datos y los exponemos al usuario de la clase (otros desarrolladores) como propiedades o métodos. También entiendo por encapsulación que ocultamos detalles. En un artículo (http://www.csharp-station.com/Tutorial/CSharp/lesson19) leí: Resumen …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.