DDD-Architektur für das ASP.NET MVC2-ProjektC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 DDD-Architektur für das ASP.NET MVC2-Projekt

Post by Anonymous »

Ich versuche, Domain Driven Development (DDD) für mein neues ASP.NET MVC2-Projekt mit Entity Framework 4 zu verwenden. Nach einigen Recherchen habe ich die folgenden Ebenenkonventionen mit jeder Ebene in einem eigenen Klassenprojekt gefunden:

MyCompany.Domain

Code: Select all

     public class User
{
//Contains all the properties for the user entity
}

public interface IRepository where T : class
{
IQueryable GetQuery();
IQueryable GetAll();
IQueryable Find(Func condition);
T Single(Func condition);
T First(Func condition);
T GetByID(int id);
void Delete(T entity);
void Add(T entity);
void Attach(T entity);
void SaveChanges();
}

public interface IUserRepository: IRepository {}

public class UserService
{
private IUserRepository _userRepository;
public UserService(IUserRepository userRepository)
{
_userRepository = userRepository;
}
// This class will hold all the methods related to the User entity
}
MyCompany.Repositories

Code: Select all

public class UserRepository : IRepository
{
// Repository interface implementations
}
MyCompany.Web --> Dies ist das MVC2-Projekt

Derzeit enthält meine Repository-Ebene einen Verweis auf die Domänenebene. Nach meinem Verständnis funktioniert das Einfügen eines UserRepository in die UserService-Klasse sehr gut mit Unit-Tests, da wir gefälschte Benutzer-Repositories übergeben können. Bei dieser Architektur sieht es also so aus, als müsste mein Webprojekt Verweise auf meine Domänen- und Repository-Ebene haben. Aber ist das gültig? Denn historisch gesehen hatte die Präsentationsschicht nur einen Bezug zur Business-Logik-Schicht.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post