Spring

Spring의 설계 철학(Design philosophy)은?

Woonys 2022. 6. 8. 19:59
반응형

프레임워크에 대해 배울 때, 이것이 무엇인지를 아는 것뿐만 아니라 어떤 원리를 따르는지를 아는 것 역시 중요하다. 아래는 스프링 프레임워크를 이끄는 원리이다.

  1. 모든 레벨에서 선택권을 제공한다. Spring은 설계 의사결정을 최대한 늦게 하도록 연기할 수 있게 한다. 예를 들어, 코드를 변경하지 않고 configuration을 통해 지속성 제공자를 바꿀 수 있다. 이는 다른 많은 인프라 문제와 타사 API와의 통합에 대해서도 마찬가지다.
  2. 다양한 관점을 수용한다. Spring은 유연성을 포용하며 일을 처리하는 방법에 대한 의견을 제시하지 않는다. 또한, Spring은 서로 다른 관점을 갖는 넓은 범위의 애플리케이션 요구 사항을 제공한다.
  3. 이전 버전과의 강력한 호환성을 유지한다. Spring의 진화는 버전 간에 변경 사항이 거의 없도록 조심스럽게 관리되어 왔다. Spring은 신중히 선택된 범위 안에서 JDK 버전과 서드 파티 라이브러리를 제공하는데, 이는 스프링에 의존하는 애플리케이션과 라이브러리의 유지보수를 쉽게 하기 위해서이다.
  4. API 설계에 관심을 기울인다. Spring 팀은 많은 생각과 시간을 들여 API를 만든다. 이렇게 만들어진 API는 직관적이며, 스프링의 여러 버전뿐만 아니라 수 년에 걸쳐서도 유지된다.
  5. 코드 퀄리티에 대해 높은 기준을 설정한다. 스프링 프레임워크는 의미있고, 최신이며, 정확한 javadoc을 중요하게 생각한다. 그렇기에 Spring은 패키지 간 순환 의존성이 없는 클린한 코드 구조를 갖는 몇 안되는 프로젝트 중 하나이다.

Reference

https://docs.spring.io/spring-framework/docs/current/reference/html/overview.html#overview-philosophy

https://deep-dev.tistory.com/3

반응형