개키우는개발자 : )

Basic Framework 개념(3) 본문

JAVA/Spring Framework

Basic Framework 개념(3)

DOGvelopers 2019. 1. 30. 14:16
반응형

Framework 의 개념

학습 목표





3.프레임워크 구성요소와 종류에 대한 이해



3-1 IoC (Inversion of Control)


IoC"제어의 역전" 즉, 인스턴스 생성부터 소멸까지의 인스턴스 생명주기 관리를 개발자가 아닌 컨테이너가


대신 해준다는 뜻임. 즉, 컨테이너 역할을 해주는 프레임워크에게 제어하는 권한을 넘겨서 개발자의 


코드가 신경 써야 할 것을 줄이는 전략이다.


- 프레임워크의 동작원리를 제어흐름이 일반적인 프로그램 흐름과 반대로 동작하므로 IoC 라고 설명함.


- Spring 컨테이너는 IoC를 지원하며, 메타데이터(XML 설정)를 통해 beans를 관리하고 어플리케이션의 


중요부분을 형성함.


- Spring 컨테이너는 관리되는 bean들을 의존성주입(Dependency Injection)을 통해 IoC를 지원함.



3-2 클래스 라이브러리 (Class Library)


프레임워크는 특정 부분의 기술적인 구현을 라이브러리 형태로 제공한다.


Class Library 라는 구성요소는 프레임워크의 정의 중 하나인 "Semi Complete(반제품)" 이다. 라고 해석하게 만들었다.


 특징

프레임워크 

라이브러리 

 유저코드의 작성

 프레임워크 클래스를 서브 클래싱 해서 작성 

 독립적으로 작성

 호출 흐름

 프레임워크 코드가 유저코드를 호출

 유저코드가 라이브러리를 호출 

 실행 흐름

 프레임워크가 제어 

 유저코드가 제어 

 객체의 연동

 구조프레임워크가 정의 

 독자적으로 정의 



3-3 라이브러리와 프레임워크의 차이점


- 프레임워크와 라이브러리를 구분하는 방법은 실행제어가 어디서 일어나는 가에 달려있다.


- 라이브러리는 개발자가 만든 클래스에서 직접 호출하여 사용하므로 실행의 흐름에 대한


제어를 개발자의 코드가 관장하고있다.


- 프레임워크는 반대로 프레임워크에서 개발자가 만든 클래스를 호출하여 실행의 흐름에 대한


제어를 담당한다.


3-4 디자인 패턴


" 디자인 패턴 + 라이브러리 = 프레임워크 "


프레임워크는 디자인 패턴과 그것이 적용된 기반 라이브러리의 결합으로 이해할 수 있다.


프레임워크의 라이브러리를 살펴볼 때도 적용된 패턴을 주목해서 살펴 본다면 그 구성을 이해하기 쉽다.


특히 프레임워크를 확장하거나 커스터마이징 할 때는 프레임워크에 적용된 패턴에 대한 이해가 꼭 필요하다.


3-5 프레임워크 종류


 기능

 프레임워크 종류

 웹(MVC)

 Spring MVC, Struts2, Webwork, PlayFramework 

 OR(Object-Relational) 매핑

 MyBatis, Hibernate, JPA, Spring JDBC 

 AOP(Aspect Oriented Programming)

 Spring AOP, AspectJ, JBoss AOP 

 DI(Dependency Injection)

 Spring DI, Google Guice 

 Build와 Library관리

 Ant + lvy, Maven, Gradle 

 단위 테스트

 JUnit, TestNG, Cactus 

 JavaScript

 JQuery, AngularJS, Node.js 



반응형

'JAVA > Spring Framework' 카테고리의 다른 글

IoC 컨테이너와 DI(Dependency Injection)  (2) 2019.02.06
프로젝트 시작하기  (0) 2019.01.30
Spring Framework 의 개요  (0) 2019.01.30
Basic Framework 개념(2)  (0) 2019.01.30
Basic Framework 개념(1)  (0) 2019.01.30
Comments