스프링 핵심 원리 기본편
-
[Spring] Singleton ContainerProgramming/Java 2021. 1. 8. 21:42
Singleton Pattern에 문제점 1. 싱글톤 패턴 구현을 위한 부가적인 코드가 많이 들어간다. 예를 들면 static final intance, private 생성자 등 2. 의존관계에 있어서 클라이언트가 구체 클래스 자체에 의존하게 된다. DIP(의존 관계 역전의 원칙)를 위반하게 된다. 클라이언트가 구체 클래스에 의존하기 때문에 OCP(개방-폐쇄 원칙) 또한 위반할 가능성이 높다. 3. 테스트 작성이 어렵다. 4. 내부 속성을 변경하거나 초기화하기 어렵다. 5. private 생성자이기 때문에 자식 클래스를 만들기 어렵다. 유연성 또한 떨어진다. Spring에서 사용하는 Spring container는 singleton pattern에 문제점을 해결하고 객체 인스턴스를 singleton으로 ..
-
SOLID, 좋은 객체 지향 설계의 5가지 원칙Programming/Java 2020. 12. 23. 13:42
SOLID, 좋은 객체 지향 설계의 5가지 원칙 SOLID 2000년대 초, 로버트 마틴은 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 정리하였다. 약어 의미 SRP 단일 책임 원칙 Single reponsibility principle OCP 개방-폐쇄 원칙 Open/closed principle LSP 리스코프 치환 원칙 Liskov substitution principle ISP 인터페이스 분리 원칙 Interface segregation principle DIP 의존관계 역전 원칙 Dependency inversion principle SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클래스는 그 책임을 완전히 캡슐화 하여야 한다. 책임은 클 수도 작을 수도 있다. 중요한..
-
Spring 간단 정리Programming/Java 2020. 12. 23. 11:38
Spring Spring의 역사 Spring의 아버지 로드 존슨은 객체지향의 이점을 잃어버리는 EJB의 문제점을 지적했다. EJB없이 품질이 좋은 확장 가능한 애플리케이션 개발을 위해서 Spring의 핵심 개념을 제작하였다. 핵심 개념에는 BeanFactory, ApplicationContext, POJO, 제어의 역전 (IoC, Inversion of Control), 의존 관계 주입 (DI, Dependency Injection) 등이 있다. Spring이라는 이름은 EJB라는 겨울을 넘어 새로운 시작인 봄을 의미한다. Spring Projects Spring은 모든 프로젝트가 모듈식으로 설계되어 있기 때문에 필요한 것들만 모아서 원하는 애플리케이션을 구성할 수 있다. 그 중심에는 Spring 프레임..
-
EJB (Enterprise Java Beans)Programming/Java 2020. 12. 23. 02:10
EJB (Enterprise Java Beans) 란? Enterprise Java Beans는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. EJB는 애플리케이션 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB는 비즈니스 객체들을 관리하는 컨테이너 기술, 설정에 의한 트랜잭션 기술 등이 담겨 있었다. 2000년대 초반에는 EJB라는 개념이 획기적이었고, Java 진영에서 표준으로 인정한 기술이기 때문에 많이 사용되었다. EJB의 한계 EJB의 다양한 기술들을 사용하기 위해서는 EJB 스펙을 사용해야 했고, 그로 인하여 서비스가 구현해야 하는 비즈니스 로직보다 EJB 컨테이너 설정을 위해 더 많은 시간을 투자해야 했다. 개발자들은 오히려 평범한 자바 클래스 (POJO, Plain O..