То, как я слышал разницу между описанными слоями и уровнями, заключается в том, что слои могут находиться на разных машинах, а уровни - нет (я также слышал термины, использованные в обратном порядке). Таким образом, n-слой подразумевает n-уровень. Например, сервер базы данных представляет собой отдельный уровень, но просто имеет библиотеку бизнес-логики, которую нельзя запустить на компьютере, отдельном от кода представления, - это просто разделение уровней. Если доступ к бизнес-логике осуществляется через сервисный уровень, который может быть размещен на компьютере, отличном от кода представления, то, как следует из названия, он представляет отдельный уровень.
N-уровень будет просто означать разделение кода на библиотеки, которые все еще могут потребоваться для запуска на той же физической машине. N-слой будет представлять собой разделение кода на сервисы, которые, вероятно, работают на разных машинах, даже если бы было возможно запустить их все на одной машине.
Добавление
Уровень презентации будет содержать все, что связано с отображением информации для пользователя. Например, в MVC этот уровень подразделяется на контроллер, который извлекает информацию из уровня (модели) бизнес-логики, и представление, которое отображает саму информацию. Уровень доступа к данным будет содержать код, используемый для извлечения информации из уровня данных. Уровень (ы) бизнес-логики будет содержать код, который извлекает информацию из уровня данных, обрабатывает эту информацию в объектной модели, которая учитывает бизнес-правила, и делает ее доступной для уровней выше ее, таких как уровень представления.
Причина, лежащая в основе уровней, заключается в том, что они обеспечивают степень отделения от уровня ниже. Например, предположим, что уровень данных изменился или, более конкретно, изменился продукт базы данных. Это потребует только обновления уровня данных, а не всей базы кода.
Используя предоставленные мной определения, стандартный веб-сайт, управляемый базой данных, например, без обращений к службам, на самом деле имеет только уровень представления и уровень данных (базу данных), даже если он имеет несколько уровней представления, промежуточные уровни и уровни данных. Если у вас есть сервисные вызовы, в зависимости от того, где они вызываются, они будут представлять другой уровень.