2010-04-04 4 views
0

제어 반전의 장점은 개체가 특정 조회 메커니즘 및 종속 개체의 구현에서 개체를 분리한다는 것입니다. 결과적으로 프로덕션 응용 프로그램 및 테스트 용으로 더 많은 유연성을 얻을 수 있습니다.종속성 삽입 메커니즘

실제로는 무엇을 의미합니까?

+0

로터리 방식으로 우리는 –

답변

0

IoC의 좋은 예는 데이터베이스 조롱입니다. 응용 프로그램을 작성하는 중에 나중에 특정 시점에 객체를 검색하거나 사용할 수 있도록 유지해야 할 수 있습니다. 당신은 그냥 구현을 정의하는 것,

DbSaver saver = new DefaultDbSaver(); 

나 : 당신이 뭔가를 할 것이다, IOC의없이

Interface DbSaver 
+void save(MyObject myObject) 
+MyObject load(String id) 

: 음, 멀리 추상적 데이터베이스에, 당신은이 같은 방법으로 인터페이스를 만들 및 (처음에 데이터베이스 조작 개체에 대한 적절한 보인다) 싱글로 액세스 :

MyDbSaver saver = MyDbSaver.getInstance(); 

을 IOC의, 당신은 RECOM도없이 DbSaver의 구현을 전환 할 수 있습니다 응용 프로그램을 쌓아 올리십시오 (적어도 Spring은 이것을 제공합니다). 즉, 코드를 변경하지 않고 한 구현을 다른 것보다 더 많이 사용할 수 있습니다. 데이터베이스 액세스 객체를 사용할 때 가장 일반적으로해야 할 일은 모든 것을 메모리에 저장하는 기본 구현을 만드는 것입니다. 데이터베이스 디자인, 구조 또는 기술을 확정하면 데이터 지속성에 대한 걱정없이 응용 프로그램을 계속 빌드 할 수 있습니다. 인터페이스 안에서만 작업 할 수 있습니다.

이렇게하면 비즈니스 개체가 데이터베이스 통합과 분리되므로 두 조각을 동시에 개발할 수 있다는 큰 이점이 있습니다.

+0

을 가져야합니다. ioc를 사용하면 구성을 변경하여 특정 인터페이스의 특정 구현을 유연하게 할당 할 수 있습니다. 내가 부분적으로 잘못 또는 가지고있는 경우 그래서 따라서 유연하게 .. 이 날 수정 .. // 꽤 많은 아이디어, ABC의 UR 답변 고맙습니다 .. –

+0

을! –