본문 바로가기

Design Patterns/영문 위키(Wikipedia)

Proxy pattern (프록시 패턴) 먼저 이 글은 영문 위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Proxy_pattern 구조적 패턴 - 프록시 패턴 컴퓨터 프로그래밍(computer programming)에서 프록시 패턴은 소프트웨어 디자인 패턴(software design pattern) 중 하나이다. 가장 일반적인 형태의 프록시는 뭔가 다른 것의 인터페이스로 동작하는 클래스의 형태이다. 프록시는 어떤 인터페이스든지 가능하다. : 네트웍 연결, 메모리의 큰 객체, 파일, 또는 비용이 많이 들거나 복제하기 거의 불가능한 자원. 프록시 패턴의 잘 알려진 예는 참조 카운팅 포인터(reference counting point.. 더보기
Flyweight pattern (플라이웨이트 패턴) 먼저 이 글은 영문 위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수도 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Flyweight_pattern 구조적 패턴 - 플라이웨이트 패턴 컴퓨터 프로그래밍에서 플라이웨이트는 소프트웨어 디자인 패턴 중 하나이다. 플라이웨이트는 가능한 많은 데이터는 다른 유사한 객체들과 공유함으로써 메모리 사용을 최소화하는 객체이다. ; 이는 어떤 단순 반복되는 표현(representation)이 받아들일 수 없을 정도의 메모리를 사용할 때 객체를 수없이 많이 사용하는 방법이다. 종종 객체 상태의 일부분은 공유될 수 있고, 이를 외부 자료구조(data structures)에 두고, 사용될 때에 플라이웨이트 객체에 .. 더보기
Facade pattern (퍼사드 패턴) 먼저 이 글은 영문 위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수도 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Facade_pattern 구조적 패턴 - 퍼사드 패턴 퍼사드 패턴은 객체 지향 프로그래밍에서 종종 사용되는 소프트웨어 디자인 패턴이다. 그 이름은 건축학의 퍼사드(전면, facade)에서 유추되었다. 퍼사드는 많은 양의 코드를 단순화된 인터페이스로 제공하는 객체이다. (예를들면 클래스 라이브러리가 있다.) 퍼사드는 다음과 같은 것들을 할 수 있다. 퍼사드는 공통적인 작업(tasks)에 대해 편리한 메서드를 가지기 때문에, 더 사용하기 쉽고, 이해하기 쉽고, 테스트하기 쉽게 소프트웨어 라이브러리를 만들 수 있다. 같은 이유로.. 더보기
Decorator Pattern (데코레이터 패턴) 먼저 이글은 영문 위키의 글을 번역한 글임을 알려드립니다.영어 실력이 부족한 관계로 오역이 있을 수도 있습니다.원문 주소 : http://en.wikipedia.org/wiki/Decorator_pattern 구조적 패턴 - 데코레이터 패턴 객체 지향 프로그래밍에서 데코레이터 패턴은 이미 존재하는 객체에 동적으로 행위(동작, behaviour)를 추가할 수 있도록 하는 디자인 패턴이다. 도입 Introduction 데코레이터 패턴은 런타임에 특정 객체의 기능을 확장하는데 사용될 수 있는데, 이 때 같은 클래스의 다른 객체에는 무관하게 기능을 확장할 수 있고, 이는 기초작업이 설계할 때 이미 완료되었을 때 가능한 일이다. 이는 원래(original) 클래스를 감싸는 새로운 데코레이터 클래스를 설계함으로써 .. 더보기
Composite Pattern (콤포짓 패턴) 먼저 이 글은 영문위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수도 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Composite_pattern 구조적 패턴 - 콤포짓 패턴 소프트웨어 공학에서 콤포짓 패턴은 분할하는(partitioning) 디자인 패턴이다. (왜 partitioning이라는 단어가 나왔는지 잘 이해가 안되네요.;;) 콤포짓 패턴은 객체 그룹이 단일 객체와 같이 취급되도록 한다. 컴포짓의 목적(의도, intent)은 객체들을 트리(tree) 구조로 "구성(compose)"하여 부분-전체 구조(part-whole hierarchies)를 표현하기 위함이다. 콤포짓 패턴을 구현하는 것은 단일 객체(individual obje.. 더보기
Bridge pattern (브릿지 패턴) 먼저 이 글은 영문 위키의 글을 번역한 것임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수도 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Bridge_pattern 구조적 패턴 - 브릿지 패턴 브릿지 패턴은 소프트웨어 공학에서 사용되는 디자인 패턴인데, 이는 "구현(implementation)으로부터 추상(abstraction) 레이어를 분리하여 이 둘이 서로 독립적으로 변화할 수 있도록 한다." 브릿지는 캡슐화(encapsulation), 집합(aggregation)을 사용하고 또한 다른 클래스들로 책임을 분리시키기 위해 상속(inheritance)를 사용할 수 있다. 어떤 클래스가 자주 바뀐다면(varies), 객체 지향 프로그래밍의 특징들은 아주 유용해질.. 더보기
Adapter Pattern (어댑터 패턴) 먼저 이 글은 영문 위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수 있습니다.^^; 원문 주소 : http://en.wikipedia.org/wiki/Adapter_pattern 구조 패턴 - 어댑터(Apapter) 컴퓨터 프로그래밍에서 어댑터 패턴은(종종 wrapper pattern이라고 언급되기도 하고, 더 간단히 wrapper라고 불리기도 한다.) 한 클래스의 인터페이스를 호환 가능한 다른 인터페이스로 변환시키는 디자인 패턴이다. 호환되지 않는 인터페이스때문에 일반적인 방법으로는 같이 사용할 수 없는 클래스들을 어댑터 패턴을 이용하면 같이 사용할 수 있다. 이는 클라이언트 코드에게 원래 클래스의 인터페이스를 노출시키는 대신에 어댑터의 인터페이스를 노출시킴으로써 가.. 더보기
Singleton pattern(싱글톤) 먼저 이 글은 영문 위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족한 관계로 오역이 있을 수도 있으니 이해해주세요^^; 원문 주소 : http://en.wikipedia.org/wiki/Singleton_pattern 생성 패턴 - 싱글톤 소프트웨어 공학에서 싱글톤 패턴은 클래스의 인스턴스화를 하나의 객체로 제한을 둠으로써 싱글톤의 수학적 컨셉(수학에 싱글톤이라는게 있나 보군요. 참고 : http://en.wikipedia.org/wiki/Singleton_(mathematics))을 구현한 디자인 패턴이다. 이 패턴은 시스템에 걸쳐 딱 하나의 객체가 필요할 때에 유용하다. 이 컨셉은 다음과 같은 시스템에서 일반적으로 사용된다. 1. 오직 하나의 객체가 존재하는 것이 더 효과적일 때 2. 일정.. 더보기
Prototype pattern (프로토타입 패턴) 먼저 이 글은 영문 위키의 글을 번역한 글임을 알려드립니다. 영어 실력이 부족하여 오역이 있을 수도 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Prototype_pattern 생성 패턴 - 프로토타입 The prototype pattern(이하 프로토타입 패턴)은 프로토타입(원형, 기본틀 등으로 해석할 수 있겠네요.) 객체에 의해 생성될 객체의 타입이 결정되는 생성 디자인 패턴이다. 이 패턴은 새로운 객체를 생성하기 위해 clone(복제)을 이용한다. 이 패턴은 클라이언트 어플리케이션에서 객체 생성자의 서브 클래싱을 피한다.(반대로 추상 팩토리 패턴에서는 객체 생성자를 서브 클래싱해야만 한다.)주어진 애플리케이션에서 일반적인 방법(new 키워드를 이용한 방법)으로 객체를.. 더보기
Builder Pattern(빌더 패턴) 먼저 이 글은 영문 위키의 글을 번역한 것을 알려드립니다. 영어 실력이 부족해 오역이 있을 수도 있습니다. 원문 주소 : http://en.wikipedia.org/wiki/Builder_pattern 생성 패턴 - 빌더 패턴 The Builder Pattern(이하 빌더 패턴)은 객체 생성 소프트웨어 디자인 패턴이다. 이 패턴의 의도는 객체의 생성의 단계(steps)들을 추상화해서, 이런 생성 단계의 구현이 달라지면 객체의 다른 표현이 나오도록 하는 것이다. 종종 빌더 패턴은 composite 패턴에 따라 제품을 생성하기 위해 사용된다. 정의 Definition 빌더 디자인 패턴의 의도는 복잡한 객체의 생성을 표현으로부터 분리시키는 것이다. 이렇게 함으로써 같은 생성 과정(process)에서 다른 표현.. 더보기