Blog

[Spring]11 느슨한 결합이라? 최근 개발 트렌드?

Author
Summary
느슨한 결합, 공부는 느슨해지면 안되
Category
Study
Tags
Spring
Favorite
Memory Date
2023/08/28
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
6 more properties
많이 들어보긴 했지만 대체 뭘까 느슨한 결합을 하라니?
느슨한 결합(Loose Coupling)??
쉽게 말하면, 하나 뭐 바꿔도, 이것저것 주변것들 바꾸지 않아도 되게 하는것!
느슨한 결합은 하나의 콤포넌트의 변경다른 콤포넌트들의 변경을 요구하는 위험을 줄이는 것을 목적으로 하는 시스템에서  콤포넌트 간의 내부 의존성을 줄이는 것을 추구하는 디자인 목표다.
느슨한 결합은 시스템을 더욱 유지 할 수 있도록 만들고, 전체 프레임워크를 더욱 안정적으로 만들고 시스템의 유연성을 증가하게 하려는 의도를 가진 포괄적인 개념이다.
그럼 반대로 긴밀한 결합(Tight Coupling)?
쉽게 말하면, 하나바꿨더니 주변에 연결된거 다바꿔야 하는것!
타이트하게 연결된 애플리케이션에서 하나의 객체를 변경하는 것은 많은 다른책체들을 변경을 요구한다.
강하게 결합된 객체(Tightly Coupled Object)는 다른 오브젝트에 대한 상당히 많은 정보를 필요로 하고 보통 두 객체간의 인터페이스들에게 서로 높은 내부 의존성을 가지고 있다. 작은 애플리케이션에서는 변경점들을 확인하고 쉽고 놓칠수 있는 가능성도 적지만 많약에 큰 프로젝트이면 그렇지 않다.
따라서, 현재 프로그래밍과 여러 프레임워크들의 동향은..
느슨한 결합을 추구하는 형태로 컴포넌트가 개발되고, 사용되도록 권장 되고 있는 것이다. 이는 유지보수성 증가와 개발시간 단축, 재사용성 증가 등 Java의 OOP, Spring Framework의 기본적인 추구 방향과 일치한다고 볼 수 있다.