Perguntas com a marcação «encapsulation»

6
Encadeamento de método vs encapsulamento
Há o problema clássico de POO do encadeamento de métodos versus métodos de "ponto de acesso único": main.getA().getB().getC().transmogrify(x, y) vs main.getA().transmogrifyMyC(x, y) A primeira parece ter a vantagem de que cada classe é responsável apenas por um conjunto menor de operações e torna tudo muito mais modular - adicionar um …

5
Posso usar a injeção de dependência sem interromper o encapsulamento?
Aqui está minha solução e projetos: BookStore (solução) BookStore.Coupler (projeto) Bootstrapper.cs BookStore.Domain (projeto) CreateBookCommandValidator.cs CompositeValidator.cs IValidate.cs IValidator.cs ICommandHandler.cs BookStore.Infrastructure (projeto) CreateBookCommandHandler.cs ValidationCommandHandlerDecorator.cs BookStore.Web (projeto) Global.asax BookStore.BatchProcesses (projeto) 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
Usando classes de amigos para encapsular funções privadas de membros em C ++ - boas práticas ou abuso?
Então notei que é possível evitar colocar funções privadas nos cabeçalhos, fazendo algo assim: // 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 whatever } …






5
Como tornar óbvio que uma função está sendo acessada de fora?
Esta é uma pergunta específica em C. Estou tentando manter todo o possível dentro dos limites da unidade de tradução, expondo apenas algumas funções através do .harquivo. Ou seja, estou dando staticligação a objetos no nível do arquivo. Agora, algumas funções precisam ser chamadas por outros módulos, mas não diretamente. …




1
Objetos JavaScript e The Good Parts, de Crockford
Eu tenho pensado bastante sobre como fazer OOP em JS, especialmente quando se trata de encapsulamento e herança, recentemente. De acordo com Crockford, o clássico é prejudicial por causa de new (), e os protótipos e os clássicos são limitados porque o uso de constructor.prototype significa que você não pode …

6
Como o encapsulamento é usado para segurança?
Estou aprendendo OOP. Eu estudei muito sobre encapsulamento, mas quanto mais eu leio, mais fico confuso. Entendo que ocultamos (tornando privados) dados e os expomos ao usuário da classe (outros desenvolvedores) como propriedades ou métodos. Eu também entendo por encapsulamento que escondemos detalhes. Em um artigo (http://www.csharp-station.com/Tutorial/CSharp/lesson19), li: Resumo do …
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.