Spring/스프링 핵심 원리 - 기본편

4. 객체지향 설계와 스프링

DEV-HJ 2023. 3. 12. 15:27
반응형

 

DI를 해야 클라이언트 코드 변경없이 기능을 확장할 수 있다.

인터페이스를 다 설계하고 구현체를 구현할때 장점

- 개발환경 설정 안하고 인터페이스 먼저 구현해도 개발 가능!

- 인터페이스를 먼저 만들어놓으면 하부 구현기술 선택을 최대한 미룰수 있는 장점이있다

- 구체적으로 정해지지 않아도 간단한 인터페이스만들고 간단한 구현체 만들고 개발 가능

- 이런식으로 인터페이스를 먼저 설계하면 가능함

- 구현 기술이 바뀌더라도 나머지 코드를 바꿀 필요없어서 변경의 범위가 작고 유연함 

인터페이스를 무분별하게 남발하면 추상화라는 비용 발생

- 추상화가 되버리면 개발 코드를 한번더 열어봐야함 이런 단점도 있음...

- 그래서 장점이 단점을 넘어설때 채택해야함.

- 이런걸 잘 고민하고 설계하는게 경험 많고 좋은 아키텍처들이 결정한는것.

- 이런걸 보면 사실 개발자랑 아키텍처랑 분리하는것도 이상하다

- 결국 개발자는 아키텍처 겸 개발자가 되야한다.

 

 

 

반응형