C #: структура папок со служебным уровнем, интерфейсами и макетами? - PullRequest
5 голосов
/ 08 июля 2010

Я недавно начал создавать сервисные слои и делать объявления вроде:

MyService myService = new MyService();
myService.DoSomething();

Это было вдохновлено некоторыми видео ASP.NET MVC, и мне нравится шаблон.

Затем я начал создавать интерфейсы и макеты, такие как:

IMyService myService = new MockMyService();
myService.DoSomething();

Так что я могу выделить части кода для тестирования. Но теперь моя папка уровня сервиса загружена с классами, интерфейсами и фиктивными классами:

IServiceTypeA.cs
ServiceTypeA.cs
MockServiceTypeA.cs
IServiceTypeB.cs
ServiceTypeB.cs
MockServiceTypeB.cs
...
IServiceTypeZ.cs
ServiceTypeZ.cs
MockServiceTypeZ.cs

Как вы организуете их логически?

1 Ответ

12 голосов
/ 08 июля 2010
- Providers
    ServiceTypeA.cs
    ServiceTypeB.cs
    ServiceTypeC.cs
- Interfaces
    IServiceTypeA.cs
    IServiceTypeB.cs
    IServiceTypeC.cs
- Testing
    - Unit Tests
    - Mocks
        MockServiceTypeA.cs
        MockServiceTypeB.cs
        MockServiceTypeC.cs

Или вы можете использовать Mocking frameworks для создания Mock Services во время выполнения.

...