我正在使用洋葱架构构建WebApi项目,我对如何组织它感到困惑
假设我的WebApi项目中有一个AnimalsController
。
由于我不想在控制器内部使用逻辑,因此我创建了AnimalsService
并且控制器调用它。
public class AnimalsController : ApiController
{
AnimalslService _animalService;
public AnimalsController(AnimalslService animalService)
{
_animalService = animalService;
}
public void DoSomething1()
{
_animalService.Foo();
}
}
AnimalService
已拨打CatService
和DogService
。
public class AnimalslService
{
CatService _catService;
DogService _dogService;
public AnimalslService(CatService catService, DogService dogService)
{
_catService = catService;
_dogService = dogService;
}
public void Foo()
{
_catService.DoSomething1();
_dogService.DoSomething2();
}
}
现在,在这个设计中是Application Services的AnimalsService部分吗? 所有服务的实现应该位于同一个地方吗?或者控制器调用其他服务的服务是否应该有不同的项目