꾸기로그
로그인
꾸기로그
로그인
객체 지향 설계 5원칙 (SOLID)와 SoC
Minkuk Jo
·
2020년 1월 31일
팔로우
0
SOLID
0
단일 책임 원칙::Single Responsibility Principle
어떤 클래스를 변경해야 하는 이유는 오직 하나여야 한다.
메소드가 단일 책임 원칙을 지키지 않을 경우 나타나는 대표적인 예가 분기 처리를 위한 if문이다.
개방 폐쇄 원칙::Open Closed Principle
클래스, 모듈, 함수 등은 확장에 대해서 열려있어야 하지만 변경에 대해서는 닫혀 있어야 한다.
리스코프 치환 원칙::Liskov Substitution Principle
서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다.
* 하위 클래스 is kind of 상위 클래스
구현 클래스 is able to 인터페이스
하위 클래스의 인스턴스는 상위 타입 객체 참조 변수에 대입해 상위 클래스의 인스턴스 역할을 하는데 문제가 없어야 한다.
인터페이스 분리 원칙::Interface Segregation Principle
클라이언트는 자신이 사용하지 않는 메소드에 의존 관계를 맺으면 안된다.
의존 역전 원칙::Dependency Inversion Principle
고차원 모듈은 저차원 모듈에 의존하면 안된다. 이 두 모듈 모두 다른 추상화된 것에 의존해야 한다.
추상화된 것은 구체화된 것에 의존하면 안된다. 구체적인 것이 추상화된 것에 의존해야 한다.
자신보다 변하기 쉬운 것에 의존하면 안된다.
SoC (Separation Of Concerns)
관심사가 같은 것끼리는 하나의 객체 또는 친한 객체로 모은다.
관심사가 다른 것은 가능한 한 따로 떨어져 서로 영향을 주지 않도록 분리한다.
하나의 속성, 메소드, 클래스, 모듈, 패키지에는 하나의 관심사만 들어있어야 한다.
Minkuk Jo
앞으로 모든 건 github에 집중! https://github.com/J-minkuk
팔로우
이전 포스트
Decorator Pattern :: 데코레이터 패턴
다음 포스트
OCP와 전략 패턴
0개의 댓글
댓글 작성