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
- 오라클오류
- 자료구조
- 크리스탈레포트그림
- 타임존설정
- api문서만들기
- openaddressing
- 스토리지기본
- import안될때
- 크리스탈리포트이미지
- JDBC
- 이미지누끼
- jdbc연결안됨
- 크리스탈리포트이미지삽입
- 서버기본
- 크리스탈레포트이미지
- EC@
- git
- ResponseBody
- 서블릿용어
- @RunWith
- Ajax
- 게시판댓글
- 타임존
- 추상클래스
- 롬복
- fcmwebpush
- RequestBody
- lombok
- 크리스탈레포트누끼
- IT기본지식
Archives
- Today
- Total
엠마의 개발공부일지
SOLID원칙 (좋은객체지향설계 5원칙) 본문
728x90
좋은 웹 개발자가 되기위해 SOLID원칙을 정리하여 머리에 새겨보려한다.
여기서 📌의존한다? = "그 클래스내에 생성된 코드를 알고있다" 로 이해한다
1. SRP
Single Responsibility Principle
단일책임원칙
✔ 각 클래스는 단 하나의 책임을 가져야 한다.
(하나의 부품인 클래스가 여러책임을 가지면 주변과 결합이 많아진다. 그러면 유지보수가 어렵다)
2. OCP
Open-Closed Principle
오픈폐쇄원칙
✔ 기존코드를 수정하지 않고(Closed) 수정 및 확장할 수 있도록(Open) 설계해야한다.
(인터페이스에서 클래스를 하나 더 생성하는것은 오픈폐쇄원칙에 맞다)
3. LSP
Liskov Substitution Principle
리스코프치환원칙
✔ 인터페이스의 기능을 그대로 구현해야한다.
(부모와 자식클래스사이에 일관성이 있어야한다
-자동차 기능을 구현할때 브레이크밟을때 뒤로가면 안되는것과 맥락이비슷)
4. ISP
Interface Segregation Principle
인터페이스 분리원칙
✔ 기능별로 인터페이스를 분리해야한다
(하나의 일반적인 인터페이스보다는, 여러개의 구체적인 인터페이스가 낫다, 사용하지않는 인터페이스를 구현하지않기위함)
5. DIP
Dependency Inversion Principle
의존관계역전원칙
✔ 의존관계형성시 인터페이스와 같은 역할part를 의존해야한다
(변경이 쉬운 구현체를 의존하면 안된다)
728x90
'Stack > Spring & Springboot' 카테고리의 다른 글
Swagger - 프로젝트 문서화 하기 (0) | 2023.01.20 |
---|---|
thymeleaf수정 시, 서버 재시작하지않고 바로 반영하는 방법 (0) | 2022.12.20 |
ajax로 컨트롤러에서 받을때 (0) | 2021.01.05 |
ajax통신하여 데이터 주고받기 (0) | 2020.12.31 |
스프링으로 메일발송 시 css깨짐문제 (0) | 2020.12.22 |
Comments