2010-11-04 16 views
0

Lors de la conception (et la mise en œuvre) une application en couches:Conception: ORM et couches application

Est-il correct d'utiliser les mêmes objets ORM accross toutes les couches? (ce qui irait à l'encontre de l'encapsulation).

Ou la couche de présentation, de gestion et de données doit-elle avoir ses propres objets? (ce qui conduirait à beaucoup de répétition de code).

par exemple. (juste pour illustrer la question): si on utilise Linq to SQL dans le Data Layer et le concepteur O/R de Visual Studio pour générer les objets ORM, ces objets sont supposés être utilisés dans les couches Business et Presentation.

i.e.: Les objets associés aux entités que l'application gère un problème transversal?

Répondre

2

Cela dépend de votre entreprise. Si vous parlez d'une petite application, vous pouvez le faire. Habituellement, les meilleures pratiques ne veulent pas exposer l'entité du DAL à la présentation, car cela ferait que la couche sera étroitement couplée et que vous pourriez exposer des données qui n'ont aucun sens dans la couche supérieure (présentation) D'autre part, vous ne devriez pas créer un tas d'objets pour chaque couche. il est toujours difficile de répondre à cette question car cela dépend vraiment de vos besoins. vous pouvez jeter un oeil à ce livre juste pour avoir une idée sur

http://books.google.co.uk/books?id=FyWZt5DdvFkC&printsec=frontcover&dq=martin+fowler+enterprise+architecture&source=bl&ots=eEEx4ATr5C&sig=sSmDmffOSALWfFZEaPyhkwwEq_I&hl=en&ei=SJnSTMuSJIHm4AaK9tW5Dw&sa=X&oi=book_result&ct=result&resnum=6&ved=0CDAQ6AEwBQ#v=onepage&q&f=false

+0

+1 - seulement je suis probablement d'une vue plus ferme que ce n'est pas une bonne idée. –