'Back-End/SpringFrame_1'에 해당되는 글 23건

donaricano-btn

2. Purpose of Spring

- 경량급 프레임워크인 스프링을 활용해서 엔터프라이즈 애플리케이션 개발을 편하게 하는 것


1) 엔터프라이즈 개발의 복잡함

a. 이유 

- 기술적인 제약조건과 요구사항이 늘어남

- 비즈니스 로직 복잡도 증가


2) 복잡함을 해결하려는 도전

a. 제거 될수 없는 근본적인 복잡함

- 복잡함을 효과적으로 상대할 수 있는 전략과 기법필요

비즈니스 로직의 복잡함을 효과적으로 다룰 방법과 기술적인 복잡함을 효과적으로 처리하는 데 적용되는 방법이 다름

- 전통적인 개발 방식은 힘듬, 두가지 일 을 분리해내야함

b. 실패한 해결책 EJB(Enterprise Java Bean)

- 목표는 두가지의 복잡성을 분리하는것 (실패함)

- EJB라는 환경과 스펙에 종속되는 코드로 만들어져야하는 더 큰 복잡함 추가


3) 비침투적인 방식을 통한 효과적인 해결책: 스프링

a. 스프링은 비침투적기술(non-invasive)

비침투적기술: 기술에 적용 사실이 코드에 직접반영되지 않음

침투적 : 기술과 관련된 코드나 규약 등이 코드에 등장


4) 복잡함을 상대하는 스프링의 전략

비즈니스 로직을 담은 애플리케이션 코드와 엔터프라이즈 기술을 처리하는 코드의 분리

a. 기술적 복잡함을 상대하는 전략

- 기술에 대한 접근 방식이 일관성이 없고, 특정 환경에 종속적이다.

: 환경, 서버, 적용 조건이 바뀌면서 코드가 바뀌는 문제 -> 서비스 추상화

: 추상화를 통해 로우레벨의 기술 구현 부분과 기술을 사용하는 인터페이스를 분리, 환경과 세부 기술에 독립적인 접근 인터페이스를 제공

템플릿/콜백 패턴은 반복적인 작업흐름과 API 사용 코드 제거함, 기술을 사용하는 코드도 최적화된 핵심 로직에만 집중 

- 기술적인 처리를 담당하는 코드가 성격이 다른 코드에 섞여 등장한다.

: 로깅, 감사기능 등 이 섞여서 나옴

: 이런 기술과 비즈니스 로직의 혼재로 발생하는 복잡함을 해결하는 것 -> AOP

AOP는 애플리케이션 로직을 담당하는 코드에 남아 있는 기술 관련 코드를 깔끔하게 분리해서 별도의 모듈로 관리

b. 비즈니스와 애플리케이션 로직의 복잡함을 상대하는 전략

- 비즈니스 로직은 가장 중요 

- 자바의 객체지량 기술이 핵심, 스프링은 단지 객체지향 언어의 장점을 살릴 수 있도록 도와줄 뿐

c. 핵심도구 : 객체지향과 DI

- 기술과 비즈니스로직의 복잡함을 해결하는 공통 키워드는 객체지향 이다.

DI

: 객체지향 > DI > 서비스추상화, AOP, 템플릿/콜백..


the source of post is Spring of Toby

'Back-End > SpringFrame_1' 카테고리의 다른 글

[Spring] DI_1  (0) 2016.07.16
[Spring] AOP_1  (0) 2016.07.04
[Spring]8_4 Skill of Spring  (0) 2016.02.28
[Spring]8_1.Definition of Spring - 스프링이란?  (0) 2016.02.28
[Spring]8_3.POJO Programming  (0) 2016.02.25
블로그 이미지

리딩리드

,
donaricano-btn

1. Definition of Spring


자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크


1). 애플리케이션 프레임워크

- 프레임워크는 애플리케이션의 특정 계층에서 주로 동작하는 한 가지 기술분야에 집중된다.

스프링은 애플리케이션 프레임워크로 불린다.(특정 계층x, 전 영역을 포괄)

핵심기술에 담긴 프로그래밍 모델을 일관되게 적용해서 엔터프라이즈 애플리케이션 전 계층과 전 영역에 전략과 기능을 제공함으로 애플리케이션을 편리하게 개발


2). 경량급

- 불필요하게 무겁지 않다

- 단순한 개발툴과 기본적인 개발환경으로도 엔터프라이즈 개발에 필요로하는 주요한 기능을 갖춘 애플리케이션을 개발하기에 충분


3). 자바 엔터프라이즈 개발을 편하게

- 스프링이라는 프레임워크가 제공하는 기술이 아니라 자신이 작성하는 애플리케이션의 로직에 더많은 관심과 시간을 쏟게한다

- 엔터프라이즈 개발의 기술적인 복잡함과 그에 따른 수고를 제거해 준다


4). 오픈소스

- 소스가 공개되어있다



the source of post is Spring of Toby 


'Back-End > SpringFrame_1' 카테고리의 다른 글

[Spring] DI_1  (0) 2016.07.16
[Spring] AOP_1  (0) 2016.07.04
[Spring]8_4 Skill of Spring  (0) 2016.02.28
[Spring]8_2.Purpose of Spring - 스프링의 목적  (0) 2016.02.28
[Spring]8_3.POJO Programming  (0) 2016.02.25
블로그 이미지

리딩리드

,
donaricano-btn


3. POJO(Plain Old Java Object) Programming

- 스프링의 정수(essence)는 엔터프라이즈 서비스(보안, 트랜젝션 등..) 기능을 POJO에 제공하는것 

- 엔터프라이즈 서비스 기술과 POJO라는 애플리케이션 로직을 담은 코드를 분리 ->

- 분리 됐지만 반드시 필요한 엔터프라이즈 서비스 기술을 POJO방식으로 개발된 애플리케이션 핵심 로직을 담은 코드에 제공한다


1). 스프링의 핵심: POJO

 a. 스프링 애플리케이션 

POJO를 이용해서 만든 애플리케이션 코드와, POJO가 어떻게 관계를 맺고 동작하는지를 정의해 놓은 설계정보로 구분함

2). POJO란 무엇인가?

a. 자바의 단순한 오브젝트를 이용해 애플리케이션의 비즈니스 로직을 구현

b. 객제지햐적인 원리에 충실, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트


3). POJO의 조건

a. 특정 규약(contract) 에 종속되지 않는다

- POJO는 자바언어와 꼭 필요한 API 외에는 종속되지 않아야 한다.

- 객체지향 설계의 자유로운 적용이 가능한 오브젝트여야만 POJO라고 불릴 수 있다. 

b. 특정 환경에 종속되지 않는다.

- 특정 환경에 종속적이어야만 동작하는 오브젝트도 POJO라고 할 수 없다.


4)  POJO의 장점

a. 깔끔한코드가 된다.

b. 자동화된 테스트에 유리하다

c. 객체지향적인 설계를 자유롭게 적용할 수 있다.


5) POJO 프레임워크

a. 스프링 프레임워크, 하이버네이트가 대표적


source of post is Spring of Toby3



'Back-End > SpringFrame_1' 카테고리의 다른 글

[Spring] DI_1  (0) 2016.07.16
[Spring] AOP_1  (0) 2016.07.04
[Spring]8_4 Skill of Spring  (0) 2016.02.28
[Spring]8_2.Purpose of Spring - 스프링의 목적  (0) 2016.02.28
[Spring]8_1.Definition of Spring - 스프링이란?  (0) 2016.02.28
블로그 이미지

리딩리드

,