-
- Как я понимаю, это учебный код, хоть и раздутый поэтому ругать
автора или обсуждать этот код всерьёз просто глупо. "Расширяемсть"
здесь лишь учебная. Реальный ООП код не должен расширяться
переписыванием класса AdsService с добавлением методов
filterByVehicleTypeBy* - RxTx(26.04.2020 16:02)
- А кто сказал, что расширяться добавлением методов? В том-то и дело,
что всего лишь добавлением значений в enum и соответствующих
классов-потомков для классов вида TrackType. А все методы бы
оставались неизменными. - Argon(26.04.2020 16:25)
- Для чего существуют AdsService.filterByVehicleTypeByPurpose(),
AdsService.filterByVehicleTypeByBody(),
AdsService.filterByVehicleTypeByFuel() с парными им
VehicleAd.getVehicleTypeByPurpose()
VehicleAd.getVehicleTypeByBody() VehicleAd.getVehicleTypeByFuel и
что ты будешь делать если появятся фары, багажники, бамперы и проч.
критерии и надо построить фильтрацию по ним. RxTx(570 знак., 27.04.2020 19:27)
- Фары, багажники, бамперы - это не типы/подтипы машин и к задаче не относятся. Я имел ввиду возможность расширения TruckType на подтипы добавлением потомков TruckType, далее классов-внуков, классов-правнуков и т.п. с сохранением возможности фильтрации как по подтипу, так и по типу TruckType. Уже сделал, все получилось. - Argon(27.04.2020 20:48)
- Для чего существуют AdsService.filterByVehicleTypeByPurpose(),
AdsService.filterByVehicleTypeByBody(),
AdsService.filterByVehicleTypeByFuel() с парными им
VehicleAd.getVehicleTypeByPurpose()
VehicleAd.getVehicleTypeByBody() VehicleAd.getVehicleTypeByFuel и
что ты будешь делать если появятся фары, багажники, бамперы и проч.
критерии и надо построить фильтрацию по ним. RxTx(570 знак., 27.04.2020 19:27)
- А кто сказал, что расширяться добавлением методов? В том-то и дело,
что всего лишь добавлением значений в enum и соответствующих
классов-потомков для классов вида TrackType. А все методы бы
оставались неизменными. - Argon(26.04.2020 16:25)
- Как я понимаю, это учебный код, хоть и раздутый поэтому ругать
автора или обсуждать этот код всерьёз просто глупо. "Расширяемсть"
здесь лишь учебная. Реальный ООП код не должен расширяться
переписыванием класса AdsService с добавлением методов
filterByVehicleTypeBy* - RxTx(26.04.2020 16:02)