개발 서적 기록/오브젝트_조영호

42일차 - 제어 역전 원리

밍 끄적 2023. 9. 25. 01:00
728x90

2023.09.24 SUN

528p ~ 537p

 

41일차 내용 ⬇️

 

2023.09.24 - [개발 서적 기록/오브젝트_조영호] - 40, 41 일차 - 일관성을 통한 장점과 디자인 패턴

 

40일차 - 일관성을 통한 장점과 디자인 패턴

2023.09.24 SUN 505p ~ 518p 39일차 기록 ⬇️ 2023.09.21 - [분류 전체보기] - 38, 39일차 - 일관성 있는 설계와 캡슐화 38, 39일차 - 일관성 있는 설계와 캡슐화 2023.09.20 WED 483p ~ 504p 37일차 내용 ⬇️ 2023.09.18 - [

magenta-ming.tistory.com


제어 역전 원리

프레임워크가 어플리케이션에 속하는 서브클래스의 메서드를 호출하므로, 프레임워크를 사용할 경우 개별 어플리케이션에서 프레임워크로 제어의 흐름 주체가 이동하는 원리다. 의존성을 역전시킴으로써, 흐름의 주체 역시 역전된다.

 

의존성 역전 원리는 객체지향의, 프레임워크의 기본 메커니즘이다. 

재사용 가능한 프레임워크를 만들기 위해서는 제어 역전 원리를 응용해야한다.

변경에 탄력적인 코드를 작성할 때에도 제어 역전 원리를 이용하면 추상화와 구체적인 사항이 분리되어 있어 유지보수에 유리하다.

 

어플리케이션 자체가 언제 어떤 라이브러리를 사용할 것인지, 스스로 제어할 수 있지만, 프레임워크를 재사용할 때에는 프레임워크에 의존하게 된다.

프레임워크를가 제공하는 메인 프로그램을 재사용하고, 이 메인 프로그램이 호출하는 코드를 어플리케이션 개발자가 작성해야한다. 언제 어플리케이션 자신이 호출될 것인지를 제어할 수 없으므로 제어 주체가 프레임워크가 된, 즉 제어가 역전된 것이다.

이를 통해서, 결정해야하는 설계 개념은 줄어든다. 이미 특정 이름오가 호출 방식이 결정된 오퍼레이션을 작성해야하기 떄문이다.

또, 구체적인 오퍼레이션의 구현만 남게 된다.

 

 

728x90