Dúvida DAO

Pessoal vou tocar em um assunto que eu acho que vocês estão de saco cheio.
Vou comecar um novo projeto e baseado em alguns tópicos do pessoal aqui gostaria de solificar meus conhecimentos:

  • Quero adotar o padrão (não sei se posso dizer assim) domain model, ou seja, quero criar objetos inteligentes e colaborativos.

  • Quero usar classes Gerenciadoras para manipular coleção de objetos como no padrão Repository.

Minha dúvida é se com o padrão Repository eu necessito de DAO’s, já que estes apenas receberiam operações que são delegadas pelos Repositories;

ex:

ou

Ou Seja, uso DAO’s personalizados para cada entidade, ou uso um mecanismo de persistencia genérica ou mesmo o session do hibernate.

http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx