TIL day 13

어니언·2023년 1월 29일
0

강한결합은 클래스와 객체가 서로 강하게 의존하고 있는 것이다.

강한결합의 특징

  • 하나의 객체를 변경하게 되면 다른 객체또한 변경을 요구하게되어 변경점들을 확인하고 쉽게 놓칠 수 있다.

  • 결합이 강하게 되어있어 결합이 되어있지 않으면 사용을 할 수 없다.

  • new를 선언할 때 마다 컴퓨터 메모리를 사용하게 되는데 비교적 강한 결합에서 new를 더 많이 사용해 메모리를 많이 사용한다.

느슨한결합은 객체들간에 결합이 되어있긴 하지만 느슨하게 되어 있는 것을 말한다. 다른의미로 크래스와 객체간의 의존성을 줄이는 것을 말한다.

느슨한결합의 특징

  • 클래스/클래스를 느슨하게 결합되어 새로운 기능을 개발하거나 기존기능ㅇ르 수정하고 확장하는게 쉽다.

  • 코드의 유지보수가 쉽다.

  • 테스트 대역으로 치환하기가 쉬워서 유닛테스트가 용이하다.

    DI(의존성주입)으로 얻을수 있는 싱글톤 패턴의 장점

  • new를 한번으로 모든 곳에서 사용가능하여 불필요한 메모리낭비를 줄일 수 있다.

  • 강하게 결합되어 있는 상태에서 느슨한 결합으로 풀리게된다.

    의존성주입이란?
    강한결합을 느슨한 결합으로 전환시키는 방법이다, IoC기술중 하나이다.

    !의존성주입이면 싱글톤 패턴일까? 그것은 아니다, new를 안에서 밖으로 빼주면서 싱글톤 패턴이 된 것은 맞지만 의존성 주입이라는 것은 밖에서 안으로 넣어주는 것이라 같은 것이라고는 할 수 없다.

profile
안녕하세요.

0개의 댓글