Design Pattern, Architecture
Design Pattern?
- Design Patterns
- 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴
- 디자인 패턴은 의사소통 수단의 일종으로서 이런 문제를 해결해준다. 예를 들어 문제 해결의 제안에 있어서도 “기능마다 별도의 클래스를 만들고, 그 기능들로 해야할 일을 한번에 처리해주는 클래스를 만들자.”라고 제안하는 것보다 "Facade 패턴을 써보자."라고 제안하는 쪽이 이해하기 쉽다.
- 설계 양식, 템플릿과 비슷함
- 코드 설계시에 가장 많이 나타나는 패턴을 양식화 함
- Design Patterns 의 의미
- OOP의 다양한 문제상황에 대한 예방
- 프로그래머 사이의 협업효율 향상
- 프로그래머 사이의 의사소통 증진
- 코드의 안정화 및 최적화
- 코드의 재사용성 증가
- Design Pattern 을 적절히 사용하지 않았을 때는?
- 패턴병에 걸릴 수 있다(패턴을 지킬려고 하는 고집으로 인해 효율이 떨어짐)
- 목적으로 삼는 순간 주객전도가 된다!
Architectures
- Architecture
- 소프트웨어 전반적으로 영향을 미치는 뼈대 같은 느낌의 패턴
- Design Pattern은 이것과 다르게 부분적인 해결책을 의미한다.
- 아키텍처란 시스템을 구성하는 서브 시스템, 컴포넌트와 같이 구성요소 간의 관계를 관리하는 시스템 구조
- ex) 한국식 구조의 집(아키텍처)에 에스컬레이터를 통해서 움직임을 해소(디자인 패턴)