두 개의 다른 bean에서 메소드를 호출하는 차이점을 이해하려고합니다. 첫 번째 방법은 하나의 빈을 다른 빈에 삽입 한 다음 다른 빈에 삽입 된 빈의 메소드를 호출하는 것입니다. 두 번째 접근법은 @observe를 사용하고 이벤트를 발생시키는 것입니다. 어느 것이 더 낫습니까?CDI에서 이벤트 대입
0
A
답변
0
첫 번째 접근법 인 주사는 훨씬 간단하고 따라서 더 좋습니다. 또한 테스트하기가 더 쉽습니다. 설정할 이벤트 컨텍스트가 없습니다.
두 번째 방법 인 이벤트 구동 방식은 두 클래스를 조정하는 타사 (이벤트 프레임 워크)를 도입하므로 더 복잡합니다. 테스트하기가 더 어렵습니다 (코드, 시간 및 지식이 더 많이 필요함).
주사 사용 : 널리 사용되며 광범위하게 지원되며 널리 이해되고 테스트 및 모의가 더 쉽고 간단합니다.
0
위에서 설명한대로 두 솔루션 모두이 상황에서 동일한 작업을 수행합니다. 이벤트는 이벤트를 관찰/듣기 위해 둘 이상의 것을 필요로 할 때 유용합니다. 또한 애플리케이션 구축 방법에 따라 다릅니다. 이벤트/리스너 접근 방식을 원하거나 더 많은 객체 지향을 원하십니까?
+0
더 "일반적인"방법 : p – Yangrui
관련 문제
- 1. CDI에서 동일한 클래스의 여러 관찰자
- 2. CDI에서 @alternatives 사용
- 3. CDI에서 콩의 올바른 범위를 선택하십시오.
- 4. cancelTrackingWithEvent 대입 호출에서도 대입 호출이 발생합니다. 예
- 5. Jersey 2.0 및 CDI에서 한정자 사용
- 6. CDI에서 @ManagedBean (eager = true)에 해당하는 것
- 7. 대화 범위가 CDI에서 어떻게 구현 되었습니까?
- 8. 자바 스크립트 세 대입
- 9. 대입 플로트 에러
- 10. 대 Linq to 대입
- 11. 합성 mutator와 대입 사용
- 12. 무차별 대입 세션
- 13. 외부 CSS 대입
- 14. 루프의 PHP 대입 인수
- 15. enable_shared_from_this 직접 대입
- 16. 기본 대입 함수 재정의
- 17. 간단한 jQuery를 대입
- 18. 자바 대입 변수
- 19. 객체에 대한 대입 연산자
- 20. 벡터 및 대입 연산자
- 21. 루비 대입 연산자
- 22. BigDecimal 대입 연산자
- 23. PHP ftp - chdir .. 대입
- 24. sympy 순차 대입 python
- 25. imag와 실제 값의 대입
- 26. 템플릿 클래스의 대입 연산자
- 27. 은 대입 연산자 '='원자입니까?
- 28. 대입 연산자 오버로드 C++
- 29. C++ 대입 연산자 기본 반환
- 30. 생성자를 호출하는 대입 연산자가 깨졌습니다.
나는 cdi를 알지 못한다. 그러나 di는 기술이다. 관찰자는 관찰자 패턴이어야한다. .. 상황에 따라 다르다. .. – nachokk
DI가로드 및 재 초기화 객체에 있고, 자동으로 생성한다. 이벤트가 욕망 메소드를 호출하기 위해 객체가 존재하고 사후 초기화 메소드를 호출하는 반면, 관찰은 컨텍스트에 종속적 인 반면, 이벤트의 희망 메소드를 호출하기 위해서는 클래스의 인스턴스가 존재해야합니다. –