728x90

DI 2

객체 지향 설계(SOLID)란?

SOLID 원칙들은 결국 자기 자신 클래스 안에 응집도는 내부적으로 높이고, 타 클래스들 간 결합도는 낮추는 High Cohesion - Loose Coupling 원칙을 객체 지향의 관점에서 도입한 것이다. 왜 그랬을까? 간단하다. 좋은 소프트웨어는 응집도가 높고 결합도가 낮기 때문이다. 결국 모듈 또는 클래스 당 하나의 책임을 주어 더욱더 독립된 모듈(클래스)을 만들기 위함이다. 이렇게 설계된 소프트웨어는 재 사용이 많아지고, 수정이 최소화 되기 때문에 결국 유지 보수가 용이해진다. 자 그럼 객체 지향 설계 5대 원칙이 각각 무엇인지 아래를 보자. SRP (Single Responsibility Principle) 단일 책임 원칙 OCP (Open Closed Principle) 개방 폐쇄 원칙 LS..

(Spring DI) Appconfig를 활용한 가격정책을 DI로 구현

DI(의존성 주입)를 활용한 할인정책 구현(Java) 할인 정책을 구현하기 위해 DiscountPolicy 인터페이스 밑에 정액할인 정책 구현체와 정률할인 정책 구현체를 두었다. - 할인 정책 인터페이스(DiscountPolicy.java) import hello.core.member.Member; public interface DiscountPolicy { /** * @return 할인 대상 금액 */ int discount(Member member, int price); } - 정액 할인 정책 구현체(FixDisCountPolicy.java) public class FixDiscountPolicy implements DiscountPolicy { private int discountFixAmount ..

Spring 2022.02.15
728x90