В структуре Onion внешний слой может получить доступ ко всем внутренним слоям. Если я пойду по этому пути, мой внешний уровень (который является уровнем пользовательского интерфейса/контроллером в MVC) также может напрямую обращаться к приложениям/бизнес-сервисам и репозиториям. Теперь мой контроллер может создать модель предметной области и сохранить ее в хранилище данных с помощью репозитория. И, таким образом, обойти проверку и другие бизнес-правила, написанные на бизнес-уровне. Я верю, я что-то упускаю. Пожалуйста помоги.
public SpeakerController(IConferenceRepository conferenceRepository,
IUserSession userSession, IClock clock)
: base(userSession) {
_conferenceRepository = conferenceRepository;
_clock = clock;
_userSession = userSession; }
с http://jeffreypalermo.com/blog/the-onion-architecture-part-2/