O que é Delegate,Facade,Dao?

Em um projeto EJB qual a utilização,o que é , para que serve Delegate,Facade,DaO ?

Na camada DAO pode usar Hibernate ?

Em um projeto sem EJB pode usar Delegate,Facade,DaO ?

Se alguém puder me ajudar agradeceria…

abs

Ola,

Você já deve saber que esses itens que você citou são Design Patterns, certo?
Link sobre o que é Design Pattern:

Dando uma googleada rápida, você deve encontrar milhares de artigos que falam sobre cada um deles e para que servem, quando usa-los, etc.

E só uma observação, Dao não é uma camada. É um pattern.

[]'s e boa leitura/pesquisa.