Я предполагаю, что вы имеете в виду слоистые (логические единицы разделения), а не многоуровневые (физические единицы разделения / развертывания). Примером многоуровневой системы может служить веб-сервер (1 уровень), доставляющий веб-страницы (еще один уровень), который использует данные из базы данных 3-го уровня).
Обычной целью многоуровневой архитектуры является разделение обязанностей. Это имеет два ключевых преимущества (среди прочих).
Во-первых, ваш дизайн будет более понятным, поскольку обязанности не будут помутлены, и, следовательно, код будет легче читать, понимать и поддерживать.
Во-вторых, есть вероятность, что вы уменьшите дублирование - например, в веб-приложении, если ваши страницы также обрабатывают бизнес-логику (или ужас доступа к данным), а также отображают страницы, тогда вы можете быть совершенно уверены, что несколько страницы будут пытаться сделать то же или похожее.
Вам не нужно для разработки (например, по слоям, хотя есть и другие способы) какого-либо программного обеспечения, но для чего-либо, кроме тривиальных вещей, результатом будет неразрешимый беспорядок, если вы не .