Мы следим за дизайном, управляемым доменом, для реализации большого веб-сайта.
Однако, поместив поведение на объекты домена, мы заканчиваем некоторые очень большие классы.
Например, на нашем объекте SiteUser у нас есть много методов - например, работа с паролями, история заказов, возврат средств, сегментация клиентов. Все эти методы напрямую связаны с пользователем. Многие из этих методов делегируют внутренне другому дочернему объекту, но это по-прежнему приводит к некоторым очень большим классам.
Я стараюсь избегать раскрытия множества дочерних объектов например user.getOrderHistory(). getLatestOrder().
Какие другие стратегии можно использовать, чтобы избежать этих проблем?