본문 바로가기
개발/spring

객체지향 5원칙

by 향유 2022. 12. 6.

1.SRP 단일 책임 원칙

single responsibility principle

 

서비스나 기능에 따라 클래스별로 관리되어야함.

 

2.OCP 개방 폐쇄 원칙

open/closed principle

 

확장가능성있고 변경불가능하도록 관리

ex)

인터페이스 다형성을 통해  필수기능에 대하여 메소드필수 원칙 부여

추가 기능 확장가능

 

3.LSP 리스코프 치환원칙

Liskov substtitution principle

필수 메소드 목적에 맞게 기능을 만들어야 한다.

입력 메소드에 내부 기능이 출력이되면 안된다

 

4.ISP 인터페이스 분리원칙

interface segregation principle

 

서비스당 통으로 하나의 인터페이스로 개발하는것이 아니라 세부 기능별 인터페이스를 분리해야한다.

회원관련 인터페이스 하나가 아니라 회원,장바구니,포인트 등을 나누어서 개발

 

5.DIP 의존관계 역전 원칙

Dependency inversion principle

추상화에 의존 해야지 구체화에 의존 x

인터페이스를 기준점으로 서비스를 개발해야함.

인테페이스에서 필요한 메소드 모두 구현하여 필수 사용 메소드를 의무화 하고

대체 가능한 객체를 만들어 사용,변경,개선처리

 

OCP DIP 원칙을 지키기 위하여 인터페이스뿐 아니라 DI컨테이너를  대해서 이해하고 사용할 줄 알아야한다.

 

DI : 의존관계,의존성 주입

 

기획이 나오지 않은경우

인터페이스를 통하여 기본적인 기능만 만들어 두고 추가기능을 만들수 있어야 한다. = OCP원칙

 

 

댓글