Одна вещь, на которую я обратил внимание при изучении MVC за последние пару лет, - это разница между тем, что я называю логикой приложения и логикой предметной области. Мне больше не нравится термин «бизнес-логика», потому что в нем слишком много багажа всех противоречивых теорий и практик, которые используют этот термин слишком свободно.
Доменная логика - это «традиционная» бизнес-логика, то, как вещи должны действовать, что они требуют (проверка) и т. Д. Логика приложения - это все, что специфично для данной презентации вашего домена, т. Е. Когда пользователь щелкает эту нажмите кнопку «Отправить» в вашем веб-приложении, после чего они будут перенаправлены на эту веб-страницу (обратите внимание, что это не имеет ничего общего с тем, как будет работать приложение WinForms или фоновый процессор). Логика приложения должна жить в вашем приложении. Доменная логика должна существовать в вашем BLL и ниже и быть многократно используемой в различных приложениях, которые могут использовать вашу общую «бизнес-логику».
Вид общего ответа, но я надеюсь, что это поможет.