Кроме того, домены абстрагируются и представляются как классы, а не как «архитектура». Уровень домена представляет бизнес-концепции, которые соответствуют структуре разрабатываемого вами программного обеспечения. Это большая вещь, которая, я думаю, сбивает людей с толку. DDD — это то, как вы создаете хорошо структурированный API/SDK/SOA/DSL, это то, как вы создаете абстракции, которые функционируют так же, как и их концептуальные аналоги. Очень просто использовать MV* и забыть, что модель является бизнес-логикой. Классы предметной области — это не просто структуры данных, они делают то, что должны. Автомобиль может управлять() и имеет водителя. Таким образом, домен не проектируется, а обнаруживается и абстрагируется. Архитектура программного обеспечения представляет собой целостность системы.