'디자인패턴' 태그의 글 목록 (2 Page)
본문 바로가기
728x90
반응형

디자인패턴70

2022-07-11-중재자패턴-2부-패턴적용하기 01.중재자패턴 적용하기 01.1 FrontDesk import java.time.LocalDateTime; public class FrontDesk { private CleaningService cleaningService = new CleaningService(); 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) { resta.. 2022. 7. 18.
2022-07-10-메멘토패턴-3부-장점과단점 01.장점 객체내부의 상태를 외부에 노출하지 않아도 메멘토로 캡슐화해서 객체상태의 스냅샷을 만들 수 있음 코드 자체를 유연하게 만들어줌 변경이나 추가되더라도 클라이언트 코드가 변경되지 않음 메멘토같은 객체는 언제든지 변경이 되는 경우 바뀔 수 있지만 클라이언트는 바뀔이유가 없음 careTaker역할 같은것 기존 상태를 저장하는것을 하나 또는 여러개를 저장한것을 부여한것 careTaker는 단일책임 원칙을 지키는 것 이라고 볼 수 있음 02.단점 메멘토 객체가 엄첨 많은 정보가 있다면 메모리 자체에 부하를 줄 수 있고 careTaker가 이런 오래된것을 지우고 그런 유지하는 역할을 해야할 수도 있음 2022. 7. 18.
2022-07-10-메멘토패턴-2부-패턴적용하기 01.메멘토 패턴 적용하기 Client를 careTaker로쓰기 memento역할이 중요 상태를 저장할것은 GameSave로 클래스 생성 상태 정보가 바뀌면 안된다 그래서 final을 사용함 public final class GameSave { private final int blueTeamScore; private final int redTeamScore; public GameSave(int blueTeamScore, int redTeamScore) { this.blueTeamScore = blueTeamScore; this.redTeamScore = redTeamScore; } public int getBlueTeamScore() { return blueTeamScore; } public int ge.. 2022. 7. 18.
2022-07-10-메멘토패턴-1부-패턴소개 01.메멘토패턴 객체내부의 상태를 외부에 저장하고 그 저장소의 정보를 보관하고 싶을때 사용하는 패턴 객체내부의 상태 외부에 저장하려면 그 것이 외부에 온전히 노출되어야하는데 캡슐레이션을 지키면서 공개안하면서 외부에 저장하고 그대로 복원하는 방법임 대개 IDE는 Undo, 게임 시 일시정지후 다시 진행할 수 있는 것이 있는데 그것을 토대로 설명할것임 02.코드로 알아보기 02.1 Client.java public class Client { public static void main(String[] args) { Game game = new Game(); game.setRedTeamScore(10); game.setBlueTeamScore(20); int blueTeamScore = game.getBlueT.. 2022. 7. 18.
728x90
반응형