알아두면 좋은것
제어의 역전 IoC (Inversion of Control)
큼큼이
2020. 5. 28. 15:51
제어의 역전 이라는 말은 정말정말 옛날 부터 들어봤는데 무슨 의미를 가지고 있는지 확실히 이해하지 못한 채로 이런 개념이 있다라고만 생각하고 개발을 했는데 확실히 용어정리를 하는 것이 필요해 보여서 정리한다.
IoC
제어 흐름 구조가 뒤바뀌는 것
제어의 역전 에서는
1. 오브젝트가 자신이 사용 할 오브젝트를 스스로 선택하지 않고 생성하지도 않는다.
2. 자신이 어떻게 만들어지고 어디서 쓰이는 지를 전혀 알 수 없다.
모든 제어 권한을 다른 대상에게 위임한다.
대표적으로 프레임워크가 제어의 역전 개념이 적용된 대표적인 기술이다.
(제어의 역전 개념이 적용되어있지 않으면 프레임워크라고 볼 수 없다고 한다)
라이브러리 | 애플리케이션 흐름을 직접 제어한다. 동작 중에 필요한기능이 있으면 라이브러리를 사용한다. |
프레임워크 | 애플리케이션 코드가 프레임워크에 의해 사용된다. |
프레임워크 위에 개발한 클래스를 등록하고, 프레임워크가 흐름을 주도하며 개발자가 만든 애플리케이션 코드를 사용하도록 만드는 방식이다.
애플리케이션 코드는 프레임워크가 짜놓은 틀에서 수동적으로 동작해야한다!
장점
1. 설계가 깔끔해진다.
2. 유연성이 증가하며
3. 확장성이 좋아진다.