일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SpringJDBC
- spring framework
- STS
- Framework
- unix
- 프로퍼티
- @AspectJ
- AOP
- @test
- POJO
- spring
- 마이바티스
- 컨테이너
- JdbcTemplate
- java
- Spring JDBC
- pointcut
- spring aop
- Spring Boot
- myBatis
- 리눅스
- java spring
- Linux
- @Spring-Test
- @JUnit
- Di
- XML
- Ubunt
- JDBC TEMPLATE
- Dependency Injection
- Today
- Total
개키우는개발자 : )
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 디자인패턴과 프레임워크의 관련성
디자인 패턴은 프레임워크의 핵심적인 특징이고, 프레임워크를 사용하는 애플리케이션에 그 패턴이
적용된다는 특징을 가지고 있다. 하지만 프레임워크는 디자인 패턴이 아니다.
- 디자인 패턴은 애플리케이션을 설계할 때 필요한 구조적인 가이드라인이 되어 줄 수는 있지만 구체적으로
구현된 기반코드를 제공하지 않는다.
- 프레임워크는 디자인 패턴과 함께 패턴이 적용 된 기반 클래스 라이브러리를 제공해서 프레임워크를
사용하는 구조적인 틀과 구현코드를 함께 제공한다.
'JAVA > Spring Framework' 카테고리의 다른 글
IoC 컨테이너와 DI(Dependency Injection) (2) | 2019.02.06 |
---|---|
프로젝트 시작하기 (0) | 2019.01.30 |
Spring Framework 의 개요 (0) | 2019.01.30 |
Basic Framework 개념(3) (0) | 2019.01.30 |
Basic Framework 개념(1) (0) | 2019.01.30 |