스프링/기본 2

BeanFactory와 ApplcaitonContext

BeanFactory 와 ApplicationContext IoC 컨테이너라고 하는 스프링 컨테이너는 DI의 관점에서는 BeanFactory라고도 하고, ApplicationContext라고도 합니다. BeanFactory는 기본적인 bean의 getBean()(조회기능)을 제공하는 최상위 인터페이스입니다.ApplicationContext는 BeanFactory를 상속받아 부가적인 기능을 추가한 인터페이스입니다. 일반적으로 스프링의 IoC 컨테이너는 애플리케이션 컨텍스트를 말하게 됩니다. BeanFactory - Lazy loading ApplicationContext - Eager loading 또한 둘의 차이점으로써 BeanFactory는 on-demand방식으로 빈을 사용시에만 로딩시켜줍니다. 반면..

스프링/기본 2022.05.31

좋은 객체 지향 설계(SOLID)

인터페이스를 안정적으로 설계하기 객체지향의 꽃은 다형성이다. -> 스프링은 다형성을 극대화해서 이용할 수 있게 도와준다 스프링에서 이야기하는 제어의 역전(IoC), 의존 관계주입(DI)은 다형성을 활용해서 역할과 구현을 편리하게 다룰 수 있도록 지원한다. 좋은 객체 지향 설계의 5가지 원칙 SOLID 클린코드의 저자 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리하였다. 1. SRP 단일 책임 원칙(Single responsibility principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이란 말이 애매모호 하기 때문에 변경이 만약 있을 때 파급효과가 적을수록 단일 책임 원칙을 잘 따랐다고 생각할 수 있다. ex) UI, 객체의 생성과 사용을 분리 2. OCP 개방-폐쇄의 원..

스프링/기본 2022.05.25