SOLID
SRP, OCP, LSP, ISP, DIP의 약자
로버트 마틴이 정리한 객체지향 프로그래밍 및 설계의 소프트웨어 개발 원칙을 의미한다.
SOLID 원칙을 따르면 코드를 확장하고 유지보수 하기 좋아진다.
SRP
Single Responsibility Principle의 약자
단일 책임의 원칙
하나의 객체는 하나의 책임만 가져야 한다.
응집도는 높게 결합도는 낮게 설계해야한다.
객체가 단 하나의 일만 한다면 시스템 수정 시 영향을 최소화 할 수 있다.
OCP
Open-Closed Principle의 약자
개방 폐쇠의 원칙
확장에는 개방적, 변경에는 폐쇠적이여야 한다.
새로운 기능이 추가 될 때, 새로운 코드가 추가되면 기존의 코드에 변경이 발생하지 않도록 설계해야한다.
LSP
Liskov Subsititution Principle의 약자
리스코프 치환의 원칙
서브타입은 언제나 기반 타입으로 교체가능해야한다.
즉, 자식 객체는 부모 객체에 정의되어 있는 책임을 따르고 위반하면 안된다.
자식 객체는 확장만을 수행한다.
ISP
Interface Segregation Principle의 약자
인터페이스 분리의 원칙
사용하지 않는인터페이스는 구현하지 않는다.
여러개의 구체적인 인터페이스로 구현하는 것이 좋다.
사용하지 않는 메서드가 있다면 인터페이스를 분리하는것이 좋다.
DIP
Dependency Inversion Priciple의 약자
의존성 역전의 원칙
하위 모듈의 변화가 상위 모듈에게 변경을 요구하는 관계는 끊어야 한다.
하위 모듈의 변화는 빈번하게 일어나므로
상위 모듈 즉, 상위 클래스, 인터페이스, 추상 클래스를 통해 의존해야 한다.
'짤막IT지식' 카테고리의 다른 글
CSP, MSP (0) | 2023.12.06 |
---|---|
CIDR, 클래스 기반 IP주소 (0) | 2023.12.06 |
DDD, Event Storming (0) | 2022.05.09 |