본문 바로가기

디자인 패턴4

패턴의 종류 생성 패턴(Creational Patterns)[편집]추상 팩토리 패턴: 동일한 주제의 다른 팩토리를 묶어 준다.빌더 패턴: 생성(construction)과 표기(representation)를 분리해 복잡한 객체를 생성한다팩토리 메서드 패턴: 생성할 객체의 클래스를 국한하지 않고 객체를 생성한다.프로토타입 패턴: 기존 객체를 복제함으로써 객체를 생성한다.싱글턴 패턴: 한 클래스에 한 객체만 존재하도록 제한한다.구조 패턴(Structural Patterns)[편집]어댑터 패턴: 인터페이스가 호환되지 않는 클래스들을 함께 이용할 수 있도록, 타 클래스의 인터페이스를 기존 인터페이스에 덧씌운다.브리지 패턴: 추상화와 구현을 분리해 둘을 각각 따로 발전시킬 수 있다.합성 패턴: 0개, 1개 혹은 그 이상의 객체.. 2014. 9. 11.
디자인패턴 2014. 9. 11.
[디자인패턴]싱글톤(Singleton)패턴 프로그램에서 단 하나의 인스턴스(Instance)만 존재하게 하고 싶을 때 사용하는 패턴입니다.어디서든지 그 인스턴스에 접근할 수 있기 때문에 전역 변수 등을 관리할 때 상당히 편리합니다.싱글톤 패턴의 간단한 예는 다음과 같습니다. (다만, 아래의 코드는 멀티 쓰레드 환경에서 문제가 발생합니다.)view sourceprint?01.public class MyClass02.{03.private static MyClass m_MyClass = null;04. 05.private MyClass() {}06. 07.public static MyClass getInstance()08.{09.if (m_MyClass == null)10.{11.m_MyClass = new MyClass();12.}13. 14.ret.. 2013. 5. 27.
[디자인패턴]컴포지트(Composite)패턴 디자인패턴의 단골 패턴 중 하나인 컴포지트(Composite) 패턴입니다.컴포지트 패턴은 간단히 말해서 추상적인 상위 클래스 하나를 만들고,그 클래스를 상속받는 다양한 자식 클래스들을 만들어결국, 다양한 자식 클래스들을 마치 같은 종류의 클래스 다루듯이 동일시해서 사용하겠다는 패턴입니다. 이 컴포지트 패턴은 나중에 커맨드(Command) 패턴이나 방문자(Visitor) 패턴, 데코레이터(Decorator) 패턴 등에 응용되서 사용되어질 수 있습니다. 상당히 유용한 패턴인거죠 !!그리고 여기서 더 나아가 트리 구조와 같은 재귀적인(Recursive) 구조를 만들기 위해서도 유용하게 쓰입니다.트리 구조의 가장 모범적인 예제로는 '파일 구조'가 있습니다.각종 폴더와 파일들이 있으며, 특정 폴더 아래에는 또 다.. 2013. 5. 27.