1. SOLID원칙
자바는 객체지향 언어로 객체지향적인 설계를 할 수 있습니다. 이때 사용되는 것이 SOLID원칙입니다.
- 단일 책임 원칙 SRP (Single Responsibility Principle)
- 책임을 최소화하는 원칙입니다. 하나의 클래스는 하나의 책임을 가져한다는 의미로 여기서 말하는 책임이란 기능입니다. 즉, 하나의 클래스는 한가지 기능에 집중해야합니다.
- 개방 폐쇄 원칙 OCP (Open Close Principle)
- 소프트웨어는 새로운 요소를 추가할 때 기존 코드를 수정을 하는 방법이 아닌 확장하는 방법으로 설계해햐압니다.
- 다형성을 활용하여야 합니다. 인터페이스를 implements 하여 구현하여야합니다.
- 리스코프 치환 원칙 LSP (Liskov Subsitution Principle)
- 자식 클래스는 부모클래스를 대체할 수 있어야합니다.
- 인터페이스를 구현하여 구현체를 만들어주면 해결할 수 있습니다.
- 인터페이스 분리 원칙 ISP (Interface Segregation Principle)
- 특정 상황마다 인터페이스를 구현하는 것이 범용 인터페이스보다 좋습니다.
- 즉, 여러개의 작은 인터페이스로 분리하여햐 합니다.
- 의존관계 역전 원칙 DIP (Dependency Inversion Principle)
- 구현된 클래스에 의존하는 것이 아닌 추상클래스(인터페이스)에 의존하도록 설계해야합니다.
위 SOLID 원칙을 요약해 보았을 때, 인터페이스 설계와 책임을 분산하는 것이 중요합니다. 객체지향적 설계를 다시 정리한 이유는 지금도 알고 있지만 실제로 구현을 할 때 많은 어려움을 느끼고 있습니다. 구체적으로는 인터페이스의 활용과 책임을 분산하는 부분의 설계와 구현이 어려웠습니다.
2. 내일 해야할 것
- Spring 숙련 강의 듣기
- Spring 숙련 과제 설계하기
- 알고리즘(bfs, dfs) 공부하기
'TIL' 카테고리의 다른 글
TIL) JPA 비밀번호 암호화 (0) | 2024.11.14 |
---|---|
TIL) 쿠키와 세션 (1) | 2024.11.13 |
TIL) 프로그래머스 문제풀이 (1) | 2024.11.11 |
TIL) 일정 관리 앱 과제 피드백 (0) | 2024.11.08 |
TIL) 스프링 프로젝트에서 책임 분산하기 (0) | 2024.11.07 |