В чём основная проблема выбранной структуры решения Класс Property не поддерживает полиморфизм Поля класса могут быть неинициализированы Метод переноса расчета общей стоимости в классе «Заказ» Не использует механизмы транзакционности Нет исключений при пустом спискеpublic class RealEstateService { private ListingRepository listingRepository; public RealEstateService(ListingRepository listingRepository) { this.listingRepository = listingRepository; } public double calculateTotalCost() { List<Property> properties = listingRepository.getAllListings(); double total = 0; for (Property property : properties) { total += property.getPrice(); } return total; } } class ListingRepository { public List<Property> getAllListings() { return Arrays.asList(new Property(250000), new Property(150000)); } } class Property { private double price; public Property(double price) { this.price = price; } public double getPrice() { return price; } }