본문 바로가기
  • 실행력이 모든걸 결정한다
Spring 사전 준비/About Spring

Spring 관련 용어 모음

by 김코더 김주역 2022. 3. 5.
반응형

Spring에 관한 문서나 책에 자주 등장할만한 용어들을 정리하고자 한다.

용어들은 계속해서 추가해나갈 것이다.

 

 

1. DI(의존성 주입)

- 추상화 계층을 통해 모듈을 쉽게 교체할 수 있도록 만드는 것

 

2. 개방 폐쇄 원칙

- 클래스나 모듈은 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다는 원칙

- 변화가 일어나지 않고도 기능을 확장할 수 있도록 하는 것이 주 목적이다.

 

3. SOLID

- 다음 5가지 객체지향 설계 원칙의 각 첫 글자를 따서 만든 단어이다.

* SRP(The Single Responsibility Principle) : 단일 책임 원칙

* OCP(The Open Closed Principle) : 개방 폐쇄 원칙

* LSP(The Liskov Substitution Principle) : 리스코프 치환 원칙

* ISP(The Interface Segregation Principle) : 인터페이스 분리 원칙

* DIP(The Dependency Inversion Principle) : 의존관계 역전 원칙

 

4. 응집도와 결합도

- 응집도(Coherence) : 하나의 모듈, 클래스가 하나의 책임 또는 관심사에만 집중되어 있는 정도로, 높을 수록 좋다.

- 결합도(Coupling) : 하나의 모듈, 클래스가 변경이 일어날 때에 관계를 맺고 있는 다른 대상에게 변화를 요구하는 정도로, 낮을 수록 좋다.

 

5. 전략 패턴

- 자신의 기능 맥락에서 필요에 따라 변경이 필요한 알고리즘을 인터페이스를 통해 통째로 외부로 분리시키고, 이를 구현한 구체적인 알고리즘 클래스를 필요에 따라 바꿔서 사용할 수 있도록 하는 패턴이다.

※ 여기서 알고리즘은 독립적인 책임으로 분리가 가능한 기능을 뜻한다.

- 대체 가능한 전략이라는 의미로 전략 패턴이라고 하는 것이다.

 

6. 제어의 역전(Inversion of Control)

- 자신에 대한 제어 권한을 다른 대상에게 위임해서, 자신은 그 외의 작업에만 집중할 수 있도록 하는 것이다.

- 능동적이었던 자신을 수동적인 입장으로 바꾸는 것이다.

- 프레임워크도 제어의 역전 개념이 적용된 기술이다. 라이브러리는 애플리케이션 코드가 사용하지만, 프레임워크는 애플리케이션 코드를 사용한다.

 

7. Bean

- Spring이 제어권을 가지는 오브젝트

- 기본적으로 싱글톤 타입으로 관리되며, 범위 설정이 가능하다.

- static과 달리 의존성 주입이 가능하다는 차이점이 있다.

 

8. Application Context

- IoC 방식을 따라 만들어진 Bean 팩토리의 기능과 스프링이 제공하는 애플리케이션 지원 기능을 통틀어 말한다.

- Bean 오브젝트의 생성, 관계설정 등의 제어 작업을 총괄한다.

- IoC 컨테이너, 스프링 컨테이너라고 부르기도 하고, 단순히 Bean 팩토리라고 부르기도 한다.

 

9. POJO

- Plain Old Java Object의 약자로, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 객체지향적인 원리에 충실한 오브젝트를 말한다.

 

10. STS

- 이클립스의 기본 설치 버전에는 없는 스프링 개발 지원 플러그인들이 포함되어 있는 이클립스 환경이다.

 

11. Factory

- 특정 오브젝트를 요구하면서 오브젝트를 생성하거나 가져오는 방식을 신경쓰지 않도록 중간에서 역할하는 오브젝트

 

12. FlashMap

- 하나의 요청에서 생성되어 다음 요청에서 한 번 사용되고 바로 제거 되는 정보를 의미한다.

- 여러 개의 attribute를 저장할 수 있도록 맵 타입으로 되어 있다.

- 스프링의 플래시 맵은 요청 사이에 다른 요청이 끼어드는 문제나 플래시가 제때에 제거되지 않아서 발생하는 메모리 누수 문제를 해결하는 기능을 제공하며, 보통 POST 요청을 처리하는 컨트롤러에서 생성된다.

- 플래시 맵, 플래시 맵 매니저, 플래시 맵 애트리뷰트는 RequestContextUtils로부터 가져와서 사용할 수 있다.

- 플래시 맵 정보를 저장하고 가져오는 방법이 Spring 3.1의 새로운 Dispatcher 전략으로 추가되었으며, 기본적으로 HTTP 세션을 이용하는 SessionFlashMapManager 전략을 사용한다.

 

13. DDD(Domain Driven Design)

- 도메인 주도 설계라고 하며, 도메인 오브젝트에 비즈니스 로직을 대부분 적용하는 설계 기법이다.

 

 

반응형

'Spring 사전 준비 > About Spring' 카테고리의 다른 글

Spring 소개  (0) 2020.11.10

댓글