carlosmcp:
Olá. Aproveitando o assunto sobre o pattern FACADE, gostaria de saber se os objetos FACADE (ou uma classe FACADE) é onde encontra-se as regras de negócios?
[]'s
Pode conter também regras de negócio.
Por exemplo.
Diria que tens um sistema que tem uma classe ClienteNegocio(não é um bom nome, mas só para entender) para encapsular as regras de negócio sobre o cadastro de novos clientes.
Porém essa classe por sí só faz garantia de seu estado e em seu construtor recebe um objeto Session(uma sessão sei lá do que do seu sistema).
Para que um subsistema também fizesse inclusão de Clientes, este subsistema teria que implementar essa regra por obrigatoriedade também.
O que fazemos?
Um facade resolve isso.
Um facade abstrai o problema da Session e apenas recebe o cliente por parâmetro e faz o complemento para manipulação do objeto ClienteNegocio.
Mas e a regra de negócio?
Digamos que a cada inclusão de cliente, fosse automaticamente enviado um e-mail a este cliente, e esta regra estivesse stagnada em componentes externos ao ClienteNegocio?
O facade também abstrairia isso, e o subsistema apenas teria conhecimento sobre a criação deste cliente.
Não sei se fui bem claro, mas…