W aplikacji mam 3 warstwy. 1-Dostęp do bazy, 2-Model oraz 3-Widok. Wszystko w osobnych projektach. Chciałbym, aby poszczególne warstwy wiedziały o innych jak najmniej.
Dla przykładu mam
public class TagViewModel
{
public int ID { get; set; }
public string Name { get; set; }
}
oraz model
public List<TagViewModel> ListTags()
{
return tagRepository.GetAll.Select(x => new TagViewModel
{
ID = x.ID,
Name = x.Name
})
.ToList();
}
W widoku wywołuje sobie tylko interfejs z metodą,
TagViewModel ora model mam umieszczony w 2 warstwie, aby widok dostał już gotowe dane i nie musiał wiedzieć o model i encjach w 1 warstwie.
Tylko mam wątpliwości co do poprawności takiego zapisu. Dodając WebAPI co prawda miałbym już gotowe ViewModele.
I teraz moje pytanie, jeżeli moje podejście jest złe, to jak właściwie powinienem rozwiązać ten problem?
Ups coś popsułem i post wysłałem