Domain Driven Design,. NET i Entity Framework
Jestem nowy w domain driven design, ale chcę się go nauczyć i użyć go do nowej aplikacji. Będę używał struktury podmiotu do dostępu do danych.
Podstawowy układ jak na razie to:
ASP.NET MVC i innych klientów (mobile urządzenia itp.)
|
Webservices
|
Model domeny (usługi, repozytoria, Agregaty, encje i Obiekty wartości)
|
Data Access Layer (Entity Framework)
|
Data Storage (SQL Serwer)
Jaki jest najlepszy sposób przesyłania danych między warstwą dostępu do danych a modelem domeny? Myślę, że encje w modelu domeny to obiekty POCO i że powinny być mapowane do / z obiektów frameworku encji. Czy to dobre rozwiązanie?
Jeśli tak:
Jak i gdzie powinno nastąpić takie mapowanie? (Warstwa modelu domeny lub warstwa dostępu do danych)
Gdzie i jak powinienem odpytywać Entity Framework (tj. zwraca listę na podstawie wyszukiwania)?
4 answers
Andrej JEMIELJANOW zrobił pracę magisterską na ten temat:
Http://gupea.ub.gu.se/dspace/bitstream/2077/10462/1/gupea_2077_10462_1.pdf
Będzie to znacznie łatwiejsze wraz z wydaniem EF 4, który obsługuje obiekty POCO.
W międzyczasie możesz spróbować użyć automapp do mapowania między obiektami domain i EF, zobacz: http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapper.aspx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-12 11:30:08
Myślę, że encje w modelu domeny to obiekty POCO i że powinny być mapowane do / z obiektów frameworku encji. Czy to dobre rozwiązanie?Myślę, że tak.
Jest to coś, co zrobiliśmy całkiem pomyślnie, chociaż w moim przypadku w świecie Javy. Nasze klasy domenowe zawierają większość logiki biznesowej. Każdy z nich ma odniesienie do obiektu thin data entity i deleguje pobieranie i ustawianie trwałych właściwości do danych / align = "left" /
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-16 21:13:49
Projekt s#ARP architecture jest doskonałym punktem wyjścia dla wskazówek dotyczących stosowania DDD. Jest on oparty na NHibernate, ale zasady stosowane powinny trzymać się jednakowo dla EF...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-17 16:24:28
Wybrałbym Enterprise Core Objects (ECO) z capableobjects.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-18 09:46:18