Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
CQRS на мой взгляд превосходит N-Layer, а также не имеет «противопоказаний» или «побочных эффектов», что делает его кандидатом на первый патрон в обойму,
You should not use the CQRS pattern as part of your top-level architecture; you should implement the pattern only in those bounded contexts where it brings clear benefits.
Маленькая цитата из книжки Exploring CQRS and Event Sourcing (в консультативный состав которой входит, на минуточку, Грег Янг), выделение мое:
реализация нашего CQRS не накладываете ни каких ограничений.
А теперь Ваши аргументы, кроме «выделений»?
Это обман.
Мои аргументы о чем?
Это Ваше мнение.
Чем N-layer лучше CQRS (нашей реализации)
Правильный «противник» CQRS, с которым можно сранивать и считать плюсы/минусы — это CRUD.
Я наглядно продемонстрировал вам ограничения, налагаемые вашей реализацией (например, она не позволяет использовать DI).
public class MyCommand:CommandBase
{
public override void Execute()
{
var service = IoCFactory.Instance.TryResolve<IExternalService>();
}
}
public class MyCommand:CommandBase
{
readonly IExternalService service;
public MyCommand(IExternalService service)
{
this.service = service;
}
public override void Execute()
{
}
}
А может тогда лучше с CMS ?)
По Вашему мнению если зависимости в проекте не через ctor, то это плохой проект и архитектура.
Incoding Rapid Development Framework ( part 2 CQRS )