디자인 패턴의 정의
프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 소프트 웨어 개발과정에서
발견된 Know-How를 축척하여 이름을 붙여 이후에 재사용하기 좋은 형태로 특정 규약을 묶어서
정리한 것
이용어를 처름 제시한 곳은 Gof(Gang of Four)라 불리는 네 명의 컴퓨터 과학 연구자들이 쓴 서적이다.
디자인 패턴을 사용하는 이유
1.요구사항은 수시로 변경 -> 요구 사항 변경에 대한 Source Code변경을 최소화
2.여러 사람이 같이 하는 팀 프로젝트 진행 -> 범용적인 코딩 스타일을 적용
3. 상황에 따라 인수 인계하는 경우도 발생 -> 직관적인 코드를 사용
디자인 패턴과 프레임 워크의 관련성
프레임 워크의 정의
비기능적(Non-Funtional)요구 사항(성능,보안,확장성,안정성 등)을 만족하는 구조
프레임 워크를 사용하는 이유
1. 비기능적인 요소들을 초기 개발 단꼐마다 수현해야 하는 불합리함을 극복해준다
2. 기능적인 (Functional)요구사항에 집중할 수 있도록 해준다.
3. 디자인 패턴과 마찬가지로 반복적으로 발견되는 문제를 해결하기 위한
특화된 Solution을 제공한다.
2.디자인 패턴과 프레임 워크의 관련성
디자인 패턴은 프에임워크의 핵심적인 특징이고, 프레임 워크를 사용하는 어플리 케리션에
그 패턴이 적용 된다는 특징을 가지고 있다. 하지만 프레임워크는 디자인 패턴이 아니다.
개발자는 프레임 워크의 기반코드를 확장하여 사용하면서
자연스럽게 그 프레임워크에서 사용된 패턴을 적용할 수 있게 된다.
3. 프레임 워크의 구성요소와 종류 (엄청 중요한 느낌임)
Ioc(inversion of Control)
IoC란 "제어의 역전" 즉, 인스턴스 생성부터 소멸까지 인스턴스 생명 주기 관리를
개발자가 아닌 컨테이너가 대신 해준다 는 뜻.
즉, 컨테니너 역할을 해주는 프레임워크에게 제어하는 권한을 넘겨서 개발자의 코드가
신경 써야 할 것을 줄이는 전략이다.
클래스 라이브러리(Class Library)
프레임워크는 특정 부분의 기술적인 구현을 라이브러리 형태로 제공한다.
Class Library라는 구송 요소는 프레임워크의 정의 중 하나인 "Semi Complte(반제품)"이다.
라고 해석하게 만들었다
디자인 패턴
디자인 패턴 + 라이브러리 = 프레임 워크!!
프레임워크 종류
아키텍쳐 결정 = 사용하는 프레임워크의 종류 + 사용정략
기능 | 프레임 워크종루 |
웹(MVC) | Spring MVC, |
OR(Object-Relational) 매핑 | MyBatis, Hibernate, JPA, |
AOP(Aspect Oriented Programming) | Spring AOP, AspectJ, |
DI(Dependency Injection)중요(많이씀) | Spring DI, Google Guice |
Build와 Library관리 | |
단위 테스트 | jUnit, TEstNG, Cactus |
JavaScript | jQuery, AngularJS, Node.js |
의존성 주입
스프링 삼각 함수
머릿속에 계속 남게끔 반복해라
'Spring > Spring 기초' 카테고리의 다른 글
Spring Maven설정 (0) | 2023.07.18 |
---|---|
Spring Tomcat Server설정 (0) | 2023.07.18 |
Spring 환경설정 3총사 동영상 (0) | 2023.07.18 |
전자정부 프레임워크 이클립스 설치 및 환경변수 및 Spring설치 및 환경설정 (0) | 2023.07.18 |
Spring setting설치 및 환경설정 (0) | 2023.07.18 |