Framework/Spring

인프런 스프링 핵심 원리-기본편 #1 객체지향 설계와 스프링

MINGYUM 2021. 12. 30. 10:25

EJB (Enterprise JavaBeans)

: 기업 환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델 

POJ 의 개념의 도래 (순수 자바로 돌아감)

EJB 컨테이너를 대체할 Spring

EJB 엔티티빈 기술을 대체할 Hibernate, JPA의 새로운 표준을 정의하였다. 

'스프링' 이라는 이름은 전통적인 EJB라는 겨울을 넘어 새로운 시작이라는 뜻을 가짐.

 

+ Entity Bean 

ORM 기술, 쿼리를 쓰지 않고 객체를 기준으로 데이터를 다루는 것

 

 

스프링 부트

  • 별도의 웹 서버를 설치하지 않아도 됨
  • 스프링과 외부 라이브러리 자동 구성
  • 단독으로 실행할 수 있는 스프링 Application을 쉽게 생성

 

핵심 컨셉 :

스프링은 자바 언어 기반의 프레임워크 - 객체 지향 언어

 

스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프로그램이다. 

 

좋은 객체지향 설계의 5가지 원칙

  • SRP(Single responsibility principle) : 단일 책임 원칙 - 변경이 있을 때 파급 효과가 적은가
  • OCP(Open/Closed principle) : 개방 폐쇄 원칙 - 확장에는 열려있으나, 변경에는 닫혀 있어야 함 (다형성 이용)
  • LSP(Liskov substitution principle) : 리스코프 치환 원칙  - 객체는 프로그램의 정확성에 영향 X, 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 
  • ISP(Interface segregation principle) : 인터페이스 분리 원칙 - 특정 클라이언트를 위한 여러 개의 인터페이스를 만들어라. 대체 가능성 증가 
  • DIP(Dependency inversion principle) : 의존관계 역전 원칙 - 구현 클래스에 의존하지 말고, 인터페이스에 의존하라