본문 바로가기

디자인 패턴

(11)
[디자인 패턴] 데코레이터 패턴 문제 - 노트북 책을 공부하며 새로운 문제를 만들고 구현한것을 기록한 게시글입니다. (이해한 내용을 바탕으로 작성했기 때문에, 내용이 정확하지않고 틀린부분이 있을수있으며, 예시가 패턴을 사용하기에 알맞지 않을수도있습니다) 데코레이터 패턴 - 객체에 추가 구성요소를 동적으로 더할 수 있는 패턴. (데코레이터를 사용하면, 유연하게 객체에 추가 구성요소를 넣을수있다.) 문제 노트북이 고장난 명진이는 노트북을 구매하기로 결심했다. 노트북의 종류는 3가지가 있으며, 각 노트북의 이름과 가격은 다음과같다. Mac - $1500 Gram - $1200 surf - $1100 노트북을 구매할때 부가옵션을 추가할수있으며, 부가옵션은 다음과 같다. Mac - Memory256GB $250 - Memory512GB $450 - Memory..
[디자인 패턴] 옵저버 패턴 문제 - 건물 (옵저버, 스트래티지) 책을 공부하며 새로운 문제를 만들고 구현한것을 기록한 게시글입니다. (이해한 내용을 바탕으로 작성했기 때문에, 내용이 정확하지않고 틀린부분이 있을수있으며, 예시가 패턴을 사용하기에 알맞지 않을수도있습니다) 옵저버 패턴 - 하나의 주제가 여러개의 옵저버에 바뀌는 내용을 전달함. (한 객체가 바뀌면 객체에 의존하는 다른객체들의 내용이 갱신되는 1대다 패턴) - 주제와 옵저버는 느슨한 결합으로 연결되어있어야함. (옵저버가 추가되거나 옵저버의 내용이 바뀌어도 주제의 내용은 바뀌면 안됨) - 옵저버들에게 연락을 돌리는 순서에 의존하면안됨. (순서가바뀌면 옵저버가 잘못된 데이터를 받을수있음 이는 느슨한 결합이 아님) 문제 재석이의 건물 건물주가 된 재석이는 자신의 건물을 효과적으로 관리하고싶어한다. 지금까지 재석이..
[디자인 패턴] 스트래티지 패턴 문제 - 커피 책을 공부하며 새로운 문제를 만들고 구현한것을 기록한 게시글입니다. (이해한 내용을 바탕으로 작성했기 때문에, 내용이 정확하지않고 틀린부분이 있을수있으며, 예시가 패턴을 사용하기에 알맞지 않을수도있습니다) 스트래티지 패턴 - 실행중 알고리즘을 변경할수있도록 하는 디자인 패턴. - 알고리즘군 각각을 캡슐화하고 상호교환가능하게만듬 문제 카페24에는 자동 커피 제조기가 있다. 커피 제조기는 설정된 커피를 무한대로 만드는데, 만들수있는 커피목록은 다음과 같다. americano cafe latte coldbrew 손님의 요구에 따라 만들고있는 커피종류를 바꿔야하며, 카페24의 알바생은 현재 만들고있는 커피의 종류를 알고싶다. 알바생은 만들고있는 커피를 바꿀때마다 프로그램에 다음과 같이 기록을한다. America..