Bonjour.

Je m'inspire d'un programme réalisé par un prestataire pour nos projets.


Voilà la méthode utilisée dans l'existant:
(tout est fait sur un unique projet)

Une base de donnée (procédures stockées)

Un DAL comprenant
- des datasets fortement typés avec appel des procédures stockées sql.
- des objets DAO avec les procédures permetant d'instancier et compléter les propriétés des objets metier.
- un "Business Provider" pour chaque instance statique des objets DAO

Un BLL comprenant
- les objets metiers, propriétés et methodes (list/select etc... )
ces méthodes métier appellent les méthodes du business provider

BusinessProvider.ObjetDAO.Insert(objetMetier) par ex

- Un provider pour faire des instances statiques des objets metier.
return ObjetMetier.InstanceStatique par ex.


Voilà mon problème :

Je dois refaire un projet mais en séparant les projets de façons à ce que les objets métiers soit réutilisable.
(un projet pour le métier, un projet pour le DAL, un projet pour le BLL)


Si je me tiens à cette méthode,

- je suis obligé de faire une référence à mon projet DAL dans mon projet métier (et je trouve cela étrange)
- le projet DAL reference mon projet métier. ce qui est normal
- Le projet BLL ne comporte plus que les instances statiques des objets metiers.

Y'a t'il des préconisations pour ce genre de choses ?
Comment faire en sorte que je n'ai pas à réferencer le projet DAL dans le métier (qui sera réutilisé sur d'autres projets ) ?

Merci pour votre aide et conseil.