design patterns : mediator

This commit is contained in:
haerong22
2021-12-17 01:56:20 +09:00
parent 2cbcbcf901
commit 6e569b43f9
9 changed files with 136 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
package mediator.after;
public class CleaningService {
private FrontDesk frontDesk = new FrontDesk();
public void getTowers(Integer id, int numberOfTowers) {
String roomNumber = this.frontDesk.getRoomNumberFor(id);
System.out.println("provide " + numberOfTowers + " to " + roomNumber);
}
}

View File

@@ -0,0 +1,22 @@
package mediator.after;
import java.time.LocalDateTime;
public class FrontDesk {
private CleaningService cleaningService = new CleaningService();
private Restaurant restaurant = new Restaurant();
public void getTowers(Guest guest, int numberOfTowers) {
cleaningService.getTowers(guest.getId(), numberOfTowers);
}
public String getRoomNumberFor(Integer guestId) {
return "1111";
}
public void dinner(Guest guest, LocalDateTime dateTime) {
restaurant.dinner(guest.getId(), dateTime);
}
}

View File

@@ -0,0 +1,26 @@
package mediator.after;
import java.time.LocalDateTime;
public class Guest {
private Integer id;
private FrontDesk frontDesk = new FrontDesk();
public void getTowers(int numberOfTowers) {
this.frontDesk.getTowers(this, numberOfTowers);
}
public void dinner(LocalDateTime dateTime) {
this.frontDesk.dinner(this, dateTime);
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@@ -0,0 +1,9 @@
package mediator.after;
import java.time.LocalDateTime;
public class Restaurant {
public void dinner(Integer id, LocalDateTime dateTime) {
}
}

View File

@@ -0,0 +1,15 @@
package mediator.before;
public class CleaningService {
public void clean(Gym gym) {
System.out.println("clean " + gym);
}
public void getTower(Guest guest, int numberOfTower) {
System.out.println(numberOfTower + " towers to " + guest);
}
public void clean(Restaurant restaurant) {
System.out.println("clean " + restaurant);
}
}

View File

@@ -0,0 +1,17 @@
package mediator.before;
public class Guest {
private Restaurant restaurant = new Restaurant();
private CleaningService cleaningService = new CleaningService();
public void dinner() {
restaurant.dinner(this);
}
public void getTower(int numberOfTower) {
cleaningService.getTower(this, numberOfTower);
}
}

View File

@@ -0,0 +1,10 @@
package mediator.before;
public class Gym {
private CleaningService cleaningService;
public void clean() {
cleaningService.clean(this);
}
}

View File

@@ -0,0 +1,13 @@
package mediator.before;
public class Hotel {
public static void main(String[] args) {
Guest guest = new Guest();
guest.getTower(3);
guest.dinner();
Restaurant restaurant = new Restaurant();
restaurant.clean();
}
}

View File

@@ -0,0 +1,13 @@
package mediator.before;
public class Restaurant {
private CleaningService cleaningService = new CleaningService();
public void dinner(Guest guest) {
System.out.println("dinner " + guest);
}
public void clean() {
cleaningService.clean(this);
}
}