본문 바로가기
SW

GoF의 디자인 패턴(Design Patterns: Elements of Reusable Object-Oriented Software) - 1장 서론(1.6)

by 라꾸스떼(YR) 2020. 4. 6.
반응형

[응용 프로그램]

내부 재사용, 유지보수성 및 확장성

 

[툴킷(toolkit)]

툴킷이란 일반적은 목적의 유용한 기능을 제공하는 재사용 가능한 클래스들의 집합체. 툴킷은 코드 재사용을 강조한 것으로 서브루틴 라이브러리와 동일한 객체지향 라이브러리인 셈이다.

 

[프레임워크(framework)]

프레임워크는 특정한 부류의 소프트웨어에 재사용성을 부여하여 개발할 수 있도록 만들어 주는 관련 클래스들의 집합이다. 프레임워크의 재정의란 프레임워크에 정의한 클래스를 상속받아 특정 응용프로그램을 지원하는 서브클래스를 정의하는 것을 뜻한다. 프레임워크는 응용프로그램에 대한 뼈대를 제공한다. 즉, 프레임워크는 클래스와 객체들의 분할, 전체 구조, 클래스와 객체들 간의 상호작용, 객체와 클래스 조합 방법, 제어 흐름에 대해 미리 정의한다. 프레임워크는 코드의 재사용보다는 설계의 재사용을 강조한다.

응용프로그램의 설계는 프레임워크에 종속되어 있어서 프레임워크의 변경에 매우 민감할 수밖에 없다. 그러므로 응용프로그램과 프레임워크 사이의 결합도는 낮을수록 더 좋다.

패턴과 프레임워크 사이의 차이점

1.디자인 패턴이 프레임워크보다는 더 추상적이다. 디자인 패턴의 목적이 설계의 의도나 장단점 등을 설명하려는 것이지 구현한 결과물을 제공하려는 것은 아니기 때문이다.

2.디자인 패턴은 프레임워크에 비해서 소규모의 아키텍처 요소이다. 일반적으로 프레임워크는 여러 디자인 패턴을 포함한다.

3.디자인 패턴은 프레임워크에 비해 덜 특수화되어 있다. 프레임워크는 어떤 특정 응용프로그램 영역을 목표로 한다.

반응형

댓글