0

스프링 프레임 워크 란 무엇인지 물어볼 때마다, 그들은 단순히 나를 말합니다. 할리우드 원리가 "나를 부르지 마라, 나는 너에게 전화 할 것이다"라는 것을 기억한다. 바로 스프링 프레임 워크가하는 일이다. .스프링 철학

어떻게해야합니까?

+1

FWIW : 저는 항상 좋은 코드를 "전화하지 마세요. 전화 할게"이라고 생각하는 것이 현명하지 않다고 생각했습니다. 할리우드에서이 말을 듣게되면 전화를받지 못한다는 의미입니다. 그래서 할리우드 원칙은 할리우드에서 실제로 깨졌습니다. :( – Asaph

답변

2

이것은 클래스가 의존하는 구성 요소를 수동으로 인스턴스화하지 않는다는 것을 의미합니다. 즉, Spring의 IoC 컨텍스트와 같은 것이 클래스에 필요한 각 구성 요소의 인스턴스를 제공합니다. 이것은 일반적으로 각 구성 요소의 설정자 또는 모든 구성 요소를 사용하는 생성자를 통해 수행됩니다. 기본적으로 대신 자체 매뉴얼 인스턴스을 수행하는 클래스의

: 당신이 상황에서 푸 개체를 얻을 때, 당신이 그것을 사용할 준비가 알 수 있도록

public class Foo { 
    private Bar bar; 
    public void doStuff() { 
    bar = new BarImplementation(); 
    bar.doMoreStuff(); 
    } 
} 

의 IoC는, 푸에 종속 줄을 삽입합니다.

public class Foo { 
    private Bar bar; 
    public void setBar(Bar bar) { this.bar = bar; } 
    public void doStuff() { 
    // bar's already been set by the time this is called! 
    bar.doMoreStuff(); 
    } 
} 

구성 파일 (예 : Spring XML) 대신 Bar를 수동으로 인스턴스화하지 않았습니다. 또한 Foo는 더 이상 BarImplementation에 묶이지 않습니다. 인터페이스를 사용하면 테스트에 사용되는 모의 객체를 포함하여 다른 구현을 삽입 할 수 있습니다.

0

콜백. : P 그게 저에게 의미하는 것입니다. 콜백은 호출되기를 기다리는 함수입니다.

1

때로는 콜백 모델은 특히 당신이 할리우드 상황을 상상하는 경우 "캐스팅 에이전트"그들이 가고있는 사람들 알면 모두를 호출하기위한 더 효율적이 방법을

을 구문 분석과 함께 할 아무것도, 더 효율적 업데이트를 원하는 모든 신청자로부터 계속 전화를 걸지 않고 전송 (또는 전화하지 않음)하십시오.

+0

왜 그렇게 ...... ...... 필러? – Rachel

관련 문제