Basic Framework 개념(2)
Framework 의 개념
학습 목표
2.디자인패턴과 프레임워크의 관련성에 대한 이해.
2-1 디자인패턴의 정의
프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 소프트웨어 개발과정에서 발견된
Know-How를 축적하여 이름을 붙여 이후에 재사용하기 좋은 형태로 특정 규약을 묶어서 정리한 것.
- 이 용어를 소프트웨어 개발 영역에서 구체적으로 처음 제시한 곳은,GoF(Gang of Four)라 불리는
네명의 컴퓨터 과학 연구자들이 쓴 서적 'Design Patterns: Elements of Reusable Object-OrientedSoftware'
(재사용 가능한 객체지향 소프트웨어의 요소 - 디자인패턴) 이다.
GOF의 디자인패턴 책 이미지
출처) http://www.yes24.com/24/goods/17525598
2-2 디자인패턴을 사용하는 이유
- 요구사항은 수시로 변경 -> 요구사항 변경에 대한 Source Code 변경을 최소화
- 여러 사람이 같이 하는 팀 프로젝트 진행 -> 범용적인 코딩 스타일을 적용
- 상황에 따라 인수 인계하는 경우도 발생 -> 직관적인 코드를 사용
2-3 프레임워크의 정의
비기능적(Non-Functional) 요구사항(성능,보안,확장성,안정성 등)을 만족하는 구조와 구현된 기능을
안정적으로 실행하도록 제어 해주는 잘 만들어진 구조의 라이브러리의 덩어리
-프레임워크는 애플리케이션들의 최소한의 공통점을 찾아 하부 구조를 제공함으로써 개발자들로 하여금
시스템의 하부 구조를 구현하는데 들어가는 노력을 절감하게 해줌.
2-4 프레임워크를 사용하는 이유
- 비기능적인 요소들을 초기 개발 단계마다 구현해야 하는 불합리함을 극복해준다.
-기능적인(Functional) 요구사항에 집중할 수 있도록 해준다.
- 디자인 패턴과 마찬가지로 반복적으로 발견되는 문제를 해결하기 위한 특화된 Solution을 제공한다.
2-4 디자인패턴과 프레임워크의 관련성
디자인 패턴은 프레임워크의 핵심적인 특징이고, 프레임워크를 사용하는 애플리케이션에 그 패턴이
적용된다는 특징을 가지고 있다. 하지만 프레임워크는 디자인 패턴이 아니다.
- 디자인 패턴은 애플리케이션을 설계할 때 필요한 구조적인 가이드라인이 되어 줄 수는 있지만 구체적으로
구현된 기반코드를 제공하지 않는다.
- 프레임워크는 디자인 패턴과 함께 패턴이 적용 된 기반 클래스 라이브러리를 제공해서 프레임워크를
사용하는 구조적인 틀과 구현코드를 함께 제공한다.