Proxy란 1. 대리(권) 2. 대리인 3. (측정・계산하려는 다른 것을 대표하도록 이용하는) 대용물 등 대신 무엇을 하는 것을 뜻한다. proxy패턴 또한 무슨 일을 대신할 객체를 만들어서 사용하는 것인데, 하는 일에 따라 분류가 된다. 원격 프록시 원격에 있는 객체를 대신하여 주는 프록시 가상 프록시 생성하기에 비용이 많이 드는 객체가 준비가 완료될때까지 대신하여 주는 프록시 보호 프록시 원 객체에 대한 접근 보호 기능을 제공하기 위해사용되는 프록시 이 글에는 가상 프록시에 대한 글을 써보겠다.위에 테이블에 나온 글 그대로 가상 프록시는 무엇을 생성하는데, 그것의 생성하는 비용이 커서 준비할 동안 대신해준다. 예로 이미지를 보여주는데, 이미지 로드 시간이 길어서 Loading이라는 문구를 띄워주는 ..
Bridge Pattern(가교패턴)은 구조패턴의 하나로, 추상과 구현을 분리하여 다양성을 가질수 있도록하는 패턴이다. 가교패턴을 사용하면, 런타임에 구현방법을 선택할 수 있고, 추상과 구현이 분리 되어있기 때문에 추상개념만 연결하면 독립적으로 확장하는게 쉽다. 가교패턴을 살펴보면, 기본 구조(꼴)이 다음과 같이 보인다. 추상을 만들고 이를 상속하는 컨크리트클래스를 만들어서 구현한다. 이와 관련된 예시를 생각해보았으나 잘 생각나지 않아 위키에 있는 예제코드(조금 바꿈) 살펴보겠다. 기본적으로 추상으로써, DrawingAPI라는 인터페이스를 만들어서, 이를 상속받는 DrawingAPI1과 DrawingAPI2를 만들어 구현한다. (여기서 구현부는 출력만 되도록 되있다.) public interface Dr..
prototype pattern, 즉 원형패턴이란 원형이 되는 인스턴스를 활용해서 새로운 객체를 생성하는 생성패턴 중 하나이다. 원형패턴을 사용함으로써, 미리 원형으로 초기화를 해두고, 나중에 이와 같은 객체를 생성할때, 다시 초기화하지 않아도 되는 편리성을 제공한다. 즉, 새로운 객체는 일반적인 방법으로 객체를 생성(create)하는 고유의 비용이 매우 클 때, 이 비용을 감내하지 않을 수 있게 해준다. 또한, 런타임에 새로운 제품을 추가 및 삭제가 가능하고, 값들을 다양화할 수 있다. 일반적으로 원형패턴의 구조는 다음과 같다. 원형 패턴을 구현하기 위해서는 원형클래스를 다루는 원형 관리자가 있어야한다. 그리고, 복사를 해야하기 때문에, Clone연산이 필요하다. 간단하게 구현해보자. 게임에서 흔히 나..
의존성을 낮출 수 있는 생성패턴의 하나로 생성 방법이 바뀔 때마다 새로운 매개변수를 넘겨받음으로써, 생성할 객체의 유형을 바꿀 수 있는 추상 팩토리 패턴에 대한 예를 적어보고자 한다. 이런 생성 패턴을 사용하는 이유 중 가장 큰 이유가 의존성의 낮춤으로써, 유연성을 확보하는 데 목적을 둔다. 이 패턴을 설명하기위해 로봇을 생성하는 프로그램을 간단하게 제작해 보겠다. 우선, A, B, C라는 공장이 있다. A공장에서는 청소로봇을 생산하고, B공장은 전투로봇을 생산한다. 그리고 , C공장은 요리로봇 생산한다. 사용자는 청소로봇을 필요로 해서, A공장에 찾아가서 로봇을 만들어달라고 한다. 이 상황을 코드로 옮겨 보자. Client RobotFactory factory = new ARobotFactory(); ..
- Total
- Today
- Yesterday