반응형

Design Pattern - Overview


(원문 위치 : http://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm )

What is Gang of Four (GOF)?

1994년에 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides는 Design Patten - Elements of Reusable Object-Oriented Software라는 제목을 책을 출판했다. 이는 소프트웨어 개발에서 디자인 패펀의 개념을 일으켰다.

저자들은 Gang of Four(GOF)로써 집합적으로 알려져 있다. 이들 저저에 따르면 디자인 패턴은 객체 지향 설계의 아래 이론이 근본적인 기초이다.
- Program to an interface not an implementation (인터페이스를 위한 프로그램이 아닌 구현이라고 구글 번역기는 번역을 해주고 있으나, 아무리 봐도 그 반대의 뜻이 맞는듯 싶다. 구현이 아닌 인터페이스를 위한 프로그램.)
- Favor object composition over inheritance (상속을 통한 객체 조합 선호)

Usage of Design Pattern

디자인 패턴은 소프트웨어 개발에서 두가지 주요 용도를 갖는다.

Common platform for developers(개발자를 위한 공통 플랫폼)

디자인 패턴은 표준 용어(standard terminology)를 제공하고 특정 시나리오에 구체적이다. 예를 들면, 싱글톤(singleton)디자인 패턴은 단일 객체의 사용을 나타낸다. 따라서 모든 싱글톤 디자인 패턴에 익숙한 개발자는 단일 객체를 활용할 것이다. 그리고 개발자들 서로는 프로그램이 싱글톤 패턴을 따르고 있다고 말할 수 있다.

Best Practices (좋은 예)

디자인 패턴은 오랜 기간에 걸쳐 발전되어졌고 소프트웨어 개발동안에 직면하는 어떠한 문제들에 대한 최고의 해법을 제공한다. 이러한 패턴을 배우는 것은 쉽고 빠른 방법으로 경험하지 못한 개발자가 소프트웨어 디자인을 배우는 것을 돕는다.

Types of Design Patterns

디자인 패턴 참고 서적 Design Patterns - Elements of Reusable Object-Oriented Software 에 따라 세가지로 분류될 수 있는 23개의 디자인 패턴이 있다. - 생성적, 구조적, 행동적 패턴. 또한 여기서는 다른 부뉼의 디자인 패턴도 이야기 할 것 이다. - J2EE 디자인 패턴
S.N.Pattern & Description
1

Creational Patterns (생성적 패턴)
These design patterns provide a way to create objects while hiding the creation logic, rather than instantiating objects directly using new opreator. This gives program more flexibility in deciding which objects need to be created for a given use case.
(이 디자인 패턴은 new연산자를 사용하여 직접적으로 객체를 인스턴스화하는 것보다 생성 로직을 숨기는 한편 객체를 생성하는 방법을 재공한다. 이는 주어진 사용 예에 대하여 객체가 생성되어질 필요가 있는 결정적인 부분에서 프로그렘을 더 유연하게 한다. )

2

Structural Patterns (구조적 패턴)
These design patterns concern class and object composition. Concept of inheritance is used to compose interfaces and define ways to compose objects to obtain new functionalities.
(이 디자인 패턴은 클래스와 객체의 조합에 관계한다. 상속의 개념은 인터페이스를 구성을 위해 사용되고 새로운 기능을 얻기 위한 객체를 구성하기 위한 방법을 정의한다.)

3

Behavioral Patterns (행동적 패턴)
These design patterns are specifically concerned with communication between objects.
(이 디자인 패턴은 특별하게 객체간의 communication에 관련이 있다.)

4

J2EE Patterns
These design patterns are specifically concerned with the presentation tier. These patterns are identified by Sun Java Center.
(이 디자인 패턴은 특별하게 표현 계층 - presentation tier - 에 관련이 있다. 이 패턴은 Sun Java Center에서 식별하였다.







반응형

+ Recent posts