Decoupling
결합도는 소프트웨어 개발 중 중요하게 고려해야 할 요소 중 하나이다. 결합도가 낮아야 구조가 잘 짜여진 코드라고 할 수 있고 이렇게 결합도를 낮추는 과정을 디커플링(Decoupling) 이라고 한다.
Component 패턴

component 패턴이란 한 개체가 커플링되지 않고 여러 도메인에 걸쳐 사용될 수 있도록 코드를 작성 하는 것을 말한다. Comonent 패턴은 다음과 같이 다양한 문제를 해결할 수 있다.
- 반복되는 코드의 재사용 : component 클래스를 사용하고자 하는 여러 클래스에서 불러와 해당 클래스의 instance 를 생성하여 사용하면 코드를 다시 작성하지 않고 재사용할 수 있다.
- 캡슐화 : component 사이에 정보 공유를 제한할 수 있기 때문에 특정 component 를 작성하는 개발자는 다른 component 에 대해서 몰라도 코드를 쉽게 변경할 수 있다.
- 상속이 아닌 조합 형태로 사용 : 상속 과정에서 코드의 반복, 다중 상속 등의 문제가 발생할 수 있는데 이때, component 의 조합 형태로 코드 구조를 변경하면 쉽게 구조화할 수 있다.
참조
Component · Decoupling Patterns · Game Programming Patterns
Game Design with Component Pattern | by Jason Li | Dev Genius