Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 사이트 도메인
- jinja2
- OpenCV + Flask
- bootstrap4 패키지
- #else
- javascript
- #undef
- flask
- #if
- href
- #ifndef
- 명령어
- 성능지표
- 콘솔 가상환경 # 콘솔 #가상환경
- MySQL 세팅
- 튜토리얼
- PyQt5
- #ifdef
- 환경변수 설정
- OpenCV
- bootstrap
- Django
- DB 데이터
- DB 데이터 저장
- Action
- #endif
- VS Code
- openweathermap
- heroku
- 실시간 시계
Archives
- Today
- Total
PROGRAMMING
OOP 설계 원칙 SOLID 본문
1. SRP; Single Responsibility Principle : 단일 책임의 원칙
- 하나의 기능을 수행하는 함수와 같이 클래스도 하나의 책임을 가지고 있어야 한다.
- 다른 클래스와의 관계성이 낮으므로 버그 대처가 쉬워진다.
→ 응집도 High, 결합도 Low
2. OCP; Open-Closed Principle : 개방 폐쇄의 원칙
- (close) 상위 클래스의 메서드는 내용이 변경되지 않도록 공통적인 기능을 가져야 하고 수정을 최소화해야 한다.
- (open) 하위 클래스의 메서드는 상위 클래스의 메서드 기능에서 확장될 수 있어야 한다.
3. LSP; Liskov Substitution Principle : 리스코프 대체의 원칙
- 기반 클래스는 파생 클래스로 대체할 수 있다.
4. ISP; Interface Segregation Principle : 인터페이스 분리의 원칙
- 하나의 범용 인터페이스보다 특화된 여러 인터페이스를 구성하는 것이 좋다.
→ 의존성 약화 >> 추가/수정/제거 최소화
5. DIP; Dependency Inversion Principle : 의존관계 역전의 원칙
- 의존관계 표현 시 하위클래스가 아닌 상위클래스에 의존해야 한다.
- 구체화된 클래스(하위)로부터의 의존성을 줄임.
'프로그래밍 언어 공통 > OOP' 카테고리의 다른 글
| Class (0) | 2022.05.23 |
|---|---|
| Data structure (0) | 2022.05.23 |
| UML Diagram (0) | 2022.05.16 |
Comments