Geon
SOLID 원칙 본문
SOLID 원칙을 왜지킬까??
- 코드의 품질을 높이기 위해서
코드의 품질이 무엇인데요??
- 가독성
- 단순성
- 유연성
Single Responsibility Principle(단일책임원칙)
- 한클래스는 한가지의 책임만을 가져야한다.
- 하지만 MVC패턴에서의 ViewController는 이러한 원칙을 어기고 있다.
Open-Close Principle
- 확장에는 열려있고 변경에는 닫혀있어야 한다.
- Swift에서는 enum은 case가 추가되면 switch문에 모두 추가해줘야하기에 메서드에 대한 행동을 추가할떄 용이
- Protocol은 추상화된 인터페이스가 변경될떄는 해당 프로토콜을 준수해야하기에 모두 오류
Liskov Substitution Principle
- 자식클래스는 부모 클래스로써의 역할을 모두 수행해야 한다.
Dependency-Inversion Principle
- 의존성 역전을 통해 연관관계를 끊어야 한다.
- 추상화된 인터페이스에 의존해야한다.
- delegate pattern
Interface-Segregation Principle
- 클라이언트가 자신이 사용하지 않는 인터페이스에 의존하지 말아야한다.
'OOP' 카테고리의 다른 글
SOLID - DIP (0) | 2022.03.27 |
---|---|
SOLID - ISP (0) | 2022.03.27 |
SOLID - OCP (0) | 2022.03.25 |
SOLID - SRP (0) | 2022.03.25 |