Unity는 기본적으로 컴포넌트 기반으로 작동한다. 그래서 어댑터 패턴이 자주 사용되지는 않는다.
Asset Store에서 다운로드한 서드파티 라이브러리가 있고 새로운 기능 추가를 위해 핵심 클래스 및 인터페이스 일부를 수정해야 한다고 해보자.
서드파티 스크립트를 변경하면 라이브러리 소유자에서 업데이트된 사항을 Import
할 때마다 병합에 문제가 생기게 된다.
그러나 어댑터 패턴은 기존의 클래스 사이에 어댑터를 배치하여 직접 수정하지 않고도 함께 작동할 수 있도록 하기 때문에 이러한 문제를 방지할 수 있다.
어댑터 패턴은 호환되지 않는 두 개의 인터페이스를 조정하는 패턴이다. 조정 대상을 수정하지 않고 한 인터페이스를 다른 인터페이스와 연결할 수 있도록 한다.
어댑터 패턴은 호환되지 않는 두 개의 인터페이스를 연결할 수 있다는 점에서 장점이 있다.
인터페이스 연결에 수정이 필요없다.
오래된 코드나 서드파티 라이브러리를 수정 없이 조정하는 표준 접근 방식을 제공한다. 이는 병합의 과정에 문제가 발생할 가능성을 제거한다.
코드를 재활용할 수 있으며 유연성을 제공한다.
최소한의 변경만으로 레거시 코드를 계속 사용할 수 있다. 즉, 개발 비용을 절약할 수 있다.