Skip to main content

제어의 역전은 무엇입니까?

control (IOC)의 역전 (IOC)은 일반적인 코드 구조가 다수의 고유하고 구체적인 서브 루틴을 지배하는 데 사용되는 프로그래밍 기술입니다.이것은 특정 코드가 다수의 재사용 가능한 일반 서브 루틴을 거꾸로 관리하는 전통적인 프로그래밍 방법을 바꿉니다.통제 역전은 일반적으로 프로그래머가 특정 코드를 한 번 이상 재사용 할 필요가 없다는 것을 알고있는 상황에서 일반적으로 사용되며, 전체 프로그램을 실질적으로 변경하지 않고 프로그램 서브 루틴을 전환 할 수있는 유연한 디자인을 허용합니다.. 전통적인 대 IOC 프로그래밍

전통적인 프로그래밍에서 코드의 본문은 개별 기능을 수행하는 일반적인 서브 루틴을 반복적으로 요구합니다.예를 들어, 회계를 다루는 프로그램에서 최종 사용자가 특정 주문 번호를 검색 할 수 있도록 설계된 서브 루틴은 아마도 프로그램의 여러 섹션에서 여러 번 호출 될 수 있으므로 사용자가 해당 일반 검색 알고리즘을 수행 할 수 있습니다.프로그램의 여러 가지 영역.코드 재사용은 프로그래밍 프로세스를 단순화하지만 프로그래머가 코드가 사용되는 다른 섹션에 영향을 미치지 않고 프로그램의 한 섹션에 대한 검색 알고리즘을 조정하려는 경우 복잡성을 만듭니다.

컨트롤 시나리오의 역전에서 동일한 예제를 사용합니다., 단일 검색 서브 루틴은 프로그램의 여러 영역에서 여러 번 호출되지 않습니다.대신, 프로그램의 각 섹션에는 자체적으로 자체 포함 된 검색 서지자가 포함됩니다.이로 인해 처음에 프로그램을 코딩하는 데 필요한 시간이 증가하지만 디자인 프로세스의 개별 서브 루틴에 나중에 만들어야 할 특정 조정을 단순화합니다.하나의 특정 영역에서 하나의 서브 루틴을 변경하면 프로그램의 나머지 부분이 영향을받지 않습니다.

IOC의 장점

이 기술의 주요 장점 중 하나는 대규모 팀에서 작업 할 때 프로그램 설계가 훨씬 쉬워집니다.팀 구성원 간의 의사 소통은 근로자의 수가 증가함에 따라 점점 더 어려워 지므로 통제의 역전을 통해 각 팀은 자체 개별 루틴을 프로그래밍 할 수있어 서로 독립적으로 기능 할 수 있습니다.또한 각 팀의 서브 루틴의 오류가 프로그램의 특정 섹션에만 영향을 미치기 때문에 시스템의 버그의 영향을 단순화합니다.이로 인해 시스템의 한 부분에서 문제가 발견되면 프로그램의 나머지 부분은 완전히 기능적으로 유지되어야합니다.

IOC의 단점

제어의 반전은 프로그램 설계를 단순화 할 수 있지만 설계 방법에 대한 사전 지식이 필요합니다.사물.각 루틴을 개별적으로 프로그래밍 할 수 있지만 IOC 제작자는 변경해야 할 경우 각 항목을 프로그래밍하는 방법을 알아야하므로 시작 프로그래머가 IOC를 사용하는 것이 항상 쉬운 것은 아닙니다.또한 각 일상적인 기능이 독립적으로 기능하기 때문에 일부 회사가 눈살을 찌푸릴 수있는 외부 세계에 볼 수 있습니다.