디자인 패턴과 프레임워크
디자인 패턴
반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법
→ 특정한 변경을 일관성 있게 다룰 수 있는 협력 템플릿 제공
프레임워크
설계와 코드를 함께 재사용하기 위한 것
→ 특정한 변경을 일관성 있게 다룰 수 있는 확장 가능한 코드 템플릿 제공
⇒ 협력을 일관성 있게 만들기 위한 방법
패턴의 정의
반복적으로 발생하는 문제와 해법의 쌍
패턴을 사용하여 이미 알려진 문제와 이에 대한 해법을 문서로 정리 가능 & 다른 사람과 의사소통 가능
추상적인 원칙과 실제 코드 작성 사이의 간극을 메워주는 실질적인 코드 작성을 도움
실무에서 탄생
패턴의 가치: 축적된 실무 지식을 효과적을 요약하고 전달할 수 있다. ( 경험의 산물 )
패턴의 이름을 부여함으로써 장황한 대화가 단순한 대화로 바뀔 수 있다.
단순히 소프트웨어 개발과 직접적인 연관성을 가진 영역 뿐만 아니라 모든 영역에서 적용될 수 있다.