728x90
반응형
SOLID란?
- > 객체지향 프로그래밍에서 SOLID 원칙은 소프트웨어 설계의 다섯 가지 기본 원칙을 나타냅니다. 이러한 원칙은 소프트웨어의 유연성, 확장성, 유지보수성을 향상시키고 코드의 재사용성을 높이는 데 도움이 됩니다.
- 단일 책임 원칙 (Single Responsibility Principle, SRP):
- 클래스나 모듈은 단 하나의 책임을 가져야 합니다. 이것은 클래스가 변경되어야 하는 이유가 단 하나이어야 함을 의미합니다. 이를 통해 코드를 변경할 때 다른 부분에 영향을 미치지 않도록 하고, 코드의 이해와 유지보수를 쉽게 만듭니다.
- 개방-폐쇄 원칙 (Open-Closed Principle, OCP):
- 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 합니다. 즉, 새로운 기능이 추가되거나 요구사항이 변경될 때, 기존의 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다. 이는 주로 다형성, 추상화, 인터페이스 등을 통해 구현됩니다.
- 리스코프 치환 원칙 (Liskov Substitution Principle, LSP):
- 자식 클래스는 부모 클래스의 기능을 대체할 수 있어야 합니다. 즉, 어떤 클래스의 인스턴스를 해당 클래스의 하위 클래스의 인스턴스로 대체해도 프로그램의 동작 방식은 변하지 않아야 합니다. 이는 상속과 다형성을 올바르게 사용하여 구현됩니다.
- 인터페이스 분리 원칙 (Interface Segregation Principle, ISP):
- 클라이언트는 자신이 사용하지 않는 메서드에 의존하도록 강요받지 말아야 합니다. 큰 인터페이스를 여러 개의 작은 인터페이스로 분리함으로써 클라이언트는 자신이 필요로 하는 메서드만 사용할 수 있도록 합니다. 이는 클라이언트와 서버 간의 결합도를 낮추고 인터페이스의 응집도를 높이는 데 도움이 됩니다.
- 의존성 역전 원칙 (Dependency Inversion Principle, DIP):
- 고수준 모듈은 저수준 모듈에 의존해서는 안 됩니다. 둘 다 추상화에 의존해야 합니다. 추상화는 구체적인 구현에 의존해서는 안 됩니다. 즉, 추상화(인터페이스, 추상 클래스 등)를 통해 의존성을 주입하고, 구체적인 구현은 이에 의존해야 합니다. 이를 통해 모듈 간의 결합도를 낮추고 유연성을 향상시킵니다.
728x90
반응형
'개발일기 > Spring' 카테고리의 다른 글
[Spring]싱글톤 컨테이너 (0) | 2024.03.18 |
---|---|
[Spring]BeanFactory , ApplicationContext (0) | 2024.03.18 |
[Spring] ApplicationContext (0) | 2024.03.15 |
IoC(제어의 역전)와 DI(의존성 주입) (0) | 2024.03.15 |
[Spring] Aop예제 (1) | 2024.03.05 |