SOLID 로버트 마틴이 정리한 좋은 객체 지향 설계를 위한 5가지 원칙 SRP (Single Responsibility Principle) 단일 책임 원칙 하나의 클래스는 하나의 책임만을 가져야 한다 즉 변경이 있을 시, 전체 코드에 파급 효과가 적어야 한다는 의미 ex) 객체의 생성과 사용을 분리함 OCP (Open/Closed principle...
IoC (Inversion of Control) 제어의 역전 프로그램의 제어 흐름을 구현 객체가 직접 제어하는 것이 아니라 외부에서 관리하는 것을 의미 프레임워크 VS 라이브러리 프레임워크 제어의 역전이 잘 적용된 예시 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것 스스로 흐름을 가지고 있어 개발자의 코드 사용 공...
싱글톤 싱글톤 패턴 클래스의 인스턴스가 오직 1개만 생성되는 것을 보장하는 디자인 패턴 private 생성자를 이용하여 외부에서 임의로 new 키워드를 사용하지 못하게 해야 함 getInstance() 메소드를 통해서만 조회 가능하므로 항상 같은 인스턴스를 반환해줌 싱글톤 패턴의 문제점 아래의 이유들로 인하여 유연성이 떨어져 안티 패턴으로 불리기...
다양한 의존 관계 주입 수정자 주입 (Setter) 자바빈 프로터티 규약의 setter 메소드에 @Autowired를 사용 테스트 코드에서 의존 관계를 한 눈에 파악하기 힘듬 옵션이 필요한 경우에만 특별히 사용 옵션 (Spring Bean과 관계없이 동작해야 하는 경우에 사용) @Autowired(required = false) : 호출 자체가 일어...