При использовании шаблона уровня службы существует ли соглашение о расположении папок для решения Visual Studio 2010? - PullRequest
1 голос
/ 13 октября 2011

Я хочу использовать шаблон Service Layer (как описано на сайте Мартина Фаулера здесь ) для моего приложения ASP.NET MVC 3.

Моя цель - настроить структуру решения вспособ для меня легче изучить шаблон, настроив для него подходящую структуру перед копанием в коде.

Может ли кто-нибудь показать мне обычный способ размещения макета решения, проектов и папок в Visual?Решение Studio 2010?

1 Ответ

1 голос
/ 13 октября 2011

Есть много способов реализовать это. Либо сегментируйте уровень службы в отдельную сборку, либо он может находиться в той же сборке, что и приложение ASP.NET MVC (например, в папке Services). Там действительно нет правил для этого. Это будет зависеть от уровня повторного использования, который вы ожидаете от этого слоя, и от размера вашего проекта. Однако важно абстрагировать этот сервисный слой:

public interface IMyService
{
    ... some service methods
}

и тогда ваши контроллеры будут работать только с этой абстракцией:

public class MyController: Controller
{
    private readonly IMyService _service;
    public MyController(IMyService service)
    {
        _service = service;
    }

    public ActionResult MyAction()
    {
        ... call some methods on the service layer
    }
}

Затем, чтобы подключить конкретную реализацию, вы должны настроить инфраструктуру внедрения зависимостей.

...