· 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 : 문제를 해결하는 알고리즘 부분을 캡슐화시켜서 다른 것들로 대
체할 수 있도록 함

Prev
Rss Feed