티스토리 툴바



2009/04/08 14:20

Design Pattern (디자인 패턴) 요점



· Why Design Patterns?

- 재사용성 높이고 유지보수를 수월하게 하기 위해서

- 디자인 패턴은 개발자의 경험에 의해 만들어진다. 즉 개발자가 어떤 문제를 해결할 때 자주 사용하는 방식의 코딩 경험을 통해서 디자인 패턴을 만들 수 있는 것이다.

- 디자인 패턴의 장점은 프로젝트 팀 사이에 의사소통이 더 빠르고 효율적일 수 있고 기존의 시스템을 적은 시간, 노력을 들여서 흡수할 수 있다.

- 디자인 패턴의 단점은 보안에 취약하고 예외 사항에 대응하기 어려우며 간단한 코드도 표준화에 맞춰야 하기 때문에 코드가 필요 이상으로 길어진다. 또 가장 중요한 사항으로 우리들(개발자)이 없어도 시스템의 유지보수는 문제가 없다.

- 패턴의 4가지 요소는 이름, 목적, 해결방법, 결과이다.

- 건축을 비유했을 때, Architecture는 건물, Framework은 뼈대, 골조와 같으며 이를 만드는 방법이 바로 Design이다.

- 상속보다는 Object Composition을 써라. (flexiblity를 높여라.)

· Design Patterns

- Creational Patterns : 객체가 생성되는 것에 초점을 맞춘 패턴

= Factory Method Pattern : 사용하는 Class의 creation을 다른 Class로 묶음

= Singleton Pattern : static attribute와 같이 동기화가 필요한 것을 다른 객체들이

공유하게 한다.

- Structural Patterns : 다른 클래스와의 Composition에 초점을 맞춘 패턴

= Decorator Pattern : 기존의 클래스에 Decorator를 달아서 문제를 해결

= Adapter Pattern : 클래스의 더 넓은 활용을 위해 adapter와 결합하여 사용

= Composite Pattern : 복잡한 문제를 여러 개의 조그마한 클래스들을 조합해서 해결

- Behavior Patterns : 클래스나 객체 간에 서로 문제를 분담하고 상호작용하는 패턴

= Command Pattern : 클래스들에게 요청을 할 때 세부사항이나 구체적인 부분 없이

추상적으로 요청을 하게 함

= Observer Pattern : 특정 객체의 상태변화를 체크해서 그 정보를 모아 다른 모든

객체에게 알릴 수 있도록 함

= Template Method Pattern : 다른 문제를 해결하기 위해 만들어진 클래스들을 상속

을 기반으로 순차적으로 사용

= State Pattern : Application의 현상태와 상태가 어떤 과정으로 변했는지에 따라서 다

른 양식으로 반응

= Strategy Pattern : 문제를 해결하는 알고리즘 부분을 캡슐화시켜서 다른 것들로 대

체할 수 있도록 함

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 1 Comment 0