반응형
DI를 해야 클라이언트 코드 변경없이 기능을 확장할 수 있다.
인터페이스를 다 설계하고 구현체를 구현할때 장점
- 개발환경 설정 안하고 인터페이스 먼저 구현해도 개발 가능!
- 인터페이스를 먼저 만들어놓으면 하부 구현기술 선택을 최대한 미룰수 있는 장점이있다
- 구체적으로 정해지지 않아도 간단한 인터페이스만들고 간단한 구현체 만들고 개발 가능
- 이런식으로 인터페이스를 먼저 설계하면 가능함
- 구현 기술이 바뀌더라도 나머지 코드를 바꿀 필요없어서 변경의 범위가 작고 유연함
인터페이스를 무분별하게 남발하면 추상화라는 비용 발생
- 추상화가 되버리면 개발 코드를 한번더 열어봐야함 이런 단점도 있음...
- 그래서 장점이 단점을 넘어설때 채택해야함.
- 이런걸 잘 고민하고 설계하는게 경험 많고 좋은 아키텍처들이 결정한는것.
- 이런걸 보면 사실 개발자랑 아키텍처랑 분리하는것도 이상하다
- 결국 개발자는 아키텍처 겸 개발자가 되야한다.
반응형
'Spring > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글
6. 비지니스 요구사항과 설계 (0) | 2023.03.12 |
---|---|
5. 프로젝트 생성 (0) | 2023.03.12 |
3. 좋은 객체지향 설계의 5가지 원칙 (SOLID) (0) | 2023.03.12 |
2. 좋은 객체 지향 프로그래밍 이란? (0) | 2023.03.12 |
1. 자바 진영의 추운 겨울과 스프링의 탄생 → 스프링이란? (0) | 2023.03.12 |