Skip to content

Instantly share code, notes, and snippets.


pawelpluta/ Secret

Last active Oct 8, 2020
What would you like to do?
Article: The OOP has been explained wrongly to you
class WashingController {
private final WashingService washingService;
WashingController(WashingService washingService) {
this.washingService = washingService;
void wash(Fabric fabricType) {
Collection<LaundryElement> laundry = getAllLaundry();
WashingMachine washingMachine = new WashingMachine();
if (fabricType == Fabric.WOOL) {
washingService.washWool(washingMachine, laundry);
} else if (fabricType == COTTON) {
washingService.washCotton(washingMachine, laundry);
} else if (fabricType == SILK) {
washingService.washSilk(washingMachine, laundry);
private Collection<LaundryElement> getAllLaundry() {
Collection<LaundryElement> allLaundry = new ArrayList<>();
// fill the allLaundry collection with available laundry by any way,
// e.g. obtaining it from repositories, providers, services
return allLaundry;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment