좋은 객체 지향 설계의 5가지 적용

Jeong Gyejin·2023년 4월 3일
0

스프링 프레임워크

목록 보기
15/17

SRP 단일책임원칙 적용

클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있었습니다. SRP원칙을 따르면서 관심사들을 분리합니다.
구현 객체를 생성하고 연결하는 책임은 Config가 담당하며, 클라이언트 객체는 실행하는 책임만 담당합니다.

DIP 의존관계 역전 원칙

새로운 적책을 개발하려고 할 때, 클라리언트 코드도 함께 변경했습니다. 기존 클라이언트 코드는 DIP를 지키면서 추상 인터페이스에 의존하는 것 같았지만, 사실 구체화된 구현 클래스도 함께 의존했기 때문입니다. 그렇기 때문에 클라이언트 코드가 추상화 인터페이스에만 의존하도록 코드를 변경해야합니다.
하지만 클라이언트 코드는 인터페이스만으로는 아무런 실행이 되지 않습니다. 그렇기 때문에 config가 객체 인스턴스를 클라이언트 코드 대신 생성해서 클라이언트 코드가 의존관계를 주입하는 식으로 변경하여 DIP원칙을 따르도록 했습니다.

OCP 개방 - 폐쇄의 원칙

애플리케이션을 사용 영역과 구성 영역으로 나누어서 정책이 바뀐다면 config파일의 의존관계를 변경하여 클라이언트 코드에 주입하므로 클라이언트 코드는 변경하지 않아도 됩니다.

profile
항상 더 나은 개발자가 되기 위해서 끊임없이 공부하고 학습하면서 성장하는 사람이 되겠습니다.

0개의 댓글