SRP 2

SOLID, O:개방-폐쇄 원칙 (OCP)

O. 개방-폐쇄 원칙 (Open-Closed Principle) 소프트웨어 요소(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다! 문제 상황 1 (잘못된 개방)비교적 최근에 쇼핑몰 연동 개발을 진행한 적이 있어, 상품 조회하는 기능이 하나의 메서드에서 분기처리되어 있더라고public class ShopItemService { public ShopItemResponse search(ShopType type, ShopItemSearchRequest request) { if (ShopType.Amazon.equals(type)) { // 아마존 상품 조회 } else if (ShopType.Cafe24.equals(type)..

Idea 2025.05.21

SOLID, S:단일 책임 원칙 (SRP)

객체지향 설계 원칙(SOLID)은 앞서 작성한 객체지향 이해하기를 보고오는게 좋다왜냐하면 캡슐화, 상속, 다형성, 추상화를 어떻게 쓸것인가? 에 대한 고민으로 엉클 밥님이 만든걸 멋지게(?) 앞자리만 따서 만든게 SOLID기 때문이야핵심은 유지보수 할 때를 고려해서, 변경에 유연하고 가독성 좋게 짜는거야S. 단일 책임 원칙 (Single Responsibility Principle)클래스는 하나의 이유로만 변경돼야 한다! 문제 상황1~2년 차쯤 개발할 때, 하나의 클래스에 너무 많은 기능을 몰아넣었던 기억이 있어.예를 들어 MemberService 하나에 아래 기능들을 다 넣는다고 해보자.회원 가입로그인비밀번호 찾기이메일 인증알림 발신여기에 공통적으로 사용하는 사용자 조회 기능이 있다고 가정해보자.근데 ..

Idea 2025.05.21