Spring(9)
-
03. 객체지향 3가지 원칙의 적용과 IOC
AppConfig의 등장으로 애플리케이션이 크게 사용 영역과 객체를 생성하고 구성(Configuration)하는 영역으로 분리되었다. 좋은 객체 지향 설계의 5가지 원칙의 적용 1. SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클라이언트 객체는 실행하는 책임만 담당 구현 객체를 생성하고 연결하는 책임은 AppConfig가 담당 2. DIP 의존관계 역전 원칙 추상화에 의존해야하며, 구체화에 의존하면 안된다. ComputerImpl는 인터페이스 KeyBoard에 의존한다. 새로운 keyBoard, AppleKeyBoard로 변경 시 단순히 AppConfig에서 의존관계를 주입하면된다. 3. OCP 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 다형성 사용하고 클라이..
2021.09.26 -
02. 의존성 주입, DI(Dependency Injection
DI 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 다이나믹하게 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다. 말로해서는 이해가 잘 되지 않으므로 문제되는 코드를 제시하고 DI가 완료되도록 바꾸어보자 위 다이어그램을 객체지향원칙 중 1개인 OCP와 DIP에 맞추어 코드를 구현해보자 public class ComputerImpl implement Computer{ private final KeyBoard keyboard = new SamsungKeyboard(); } 역활과 구현을 충실하게 분리는 하였고, 다형성을 활용하고, 인터페이스와 구현 객체를 분리하였지만 OCP, DIP 같은 객체..
2021.09.26 -
01. 객체 지향 설계 5원칙 (SOLID)
solid 란? 객체 지향 설계 원칙의 앞 글자만을 따서 만든 용어이다. SRP (Single Responsibility Principle) 단일 책임 원칙 OCP (Open Closed Principle) 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) 리스코프 치환 원칙 ISP (Interface Segregation Principle) 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) 의존 역전 원칙 1. SRP (Single Responsibility Principle) 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 즉, 객체 간의 응집도는 높고 결합도가 낮은 프로그램이라는 뜻으로 해석할 수 있다. 하나의 책임이라는 ..
2021.09.19