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) : 의존관계 역전 원칙 - 구현 클래스에 의존하지 말고, 인터페이스에 의존하라