본문 바로가기

디자인패턴2

[Java] 디자인 패턴 - Decorator(데코레이터, 장식자) 패턴 데코레이터 패턴은 기존에 사용하고 있는 클래스를 변경하는 것이 아니라 기능이 변경되고 추가된 유사하지만 새로운 클래스를 생성해 주는 것이다. 밑줄 친 내용만 알면 이해가 훨씬 쉬워진다! 아래는 가정은 단순히 설명을 위한 예시일 뿐 현실과는 다를 수 있으니 깊게 생각하지말고 단순히 그렇구나 하고 받아들이자! 1. 예를들어 커피 레시피가 있다고 하면! 아메리카노가 가장 기본 적인 레시피라고 가정하겠다. 그러면 카페라떼 주문이 들어왔을 때 기존의 아메리카노를 변경하는게 아니라 우유와 기타 등등을 넣어 카페라떼라는 새로운 메뉴를 만드는 것이다! 2. 예를 들어 차(Car)가 있다고 하면! 차의 서로 다른 모델을 만든다면, 초기 모델의 제조공정은 그대로 두고, 업그레이드를 위한 설비를 추가해서 다른 모델을 찍어 .. 2022. 1. 25.
[Java] 디자인 패턴 - Proxy(프록시) 패턴 아주 간단하게 이해해보자. Main 클래스가 있고 산술 클래스가 있다고 생각해보자. 산술 클래스 아래에 더하기 함수가 있고, Main에서는 더하기 함수를 사용하고 싶다. 패턴 사용 안 할경우: 1. 그러면 Main에서 산술 클래스의 인스턴스를 생성해서 사용 해도 문제가 없다. 2. 하지만 다음에 만약에 더하기 방식이나 변수가 바뀔 수 있을 가능성이 있다! 3. 만약에 바뀌게 된다면, Main에서는 바뀔 때 마다 호출을 바뀐 거에 맞춰서 새롭게 해줘야 한다! 그래서 Proxy 패턴을 사용한다. 패턴 사용 할 경우: 1. 산술 클래스의 프록시 클래스를 생성한다 이름은 간단하게 산술 프록시라고 하자. 2. 이제 Main은 산술 클래스의 인스턴스를 바로 생성해서 접근하는 것이 아니라, 산술 프록시 클래스의 인스.. 2022. 1. 25.