선물 / 모나드 vs 이벤트


10

성능 영향을 무시할 수있는 응용 프로그램 프레임 워크에서 (초당 10-20 개의 이벤트)
모듈 간 통신을위한 기본 매체로 사용할 수있는 유지 관리 가능하고 유연한 것은 무엇 입니까?

이벤트 (펍 / 서브, 중재자)는 느슨한 결합을 허용하므로 더 유지 관리가 쉬운 앱을 허용합니다 ... 내 경험이 거부합니다 : 20 개 이상의 이벤트가 있으면 디버깅이 어려워지고 리팩토링됩니다- 누가, 언제, 왜 무엇을 사용하는지 알기가 매우 어렵 기 때문입니다.

약속 (자바 스크립트로 코딩 중)은 이벤트보다 훨씬 추하고 어둡습니다. 그러나 함수 호출 사이의 연결을 명확하게 볼 수 있으므로 응용 프로그램 논리가보다 간단 해집니다. 내가 두려워하는 것. 그러나 약속은 그들과 더 많은 결합을 가져올 것입니다 ...

추신 : 대답은 JS를 기반으로 할 필요는 없으며 다른 기능적 언어의 경험을 많이 환영합니다.


2
이벤트 (펍 / 서브, 중재자) 가 도대체 ​​누가 느슨한 커플허용 한다고 말하고 있습니까? 그들의 말을 듣지 마라! 부모-> 타이트한 커플 링을 모르면 이벤트에 가입 할 수 없습니다. 약한 사건을 살펴보십시오 (= 중재자?).
Louis Kottmann

@Baboon 저는 일반적으로 이벤트가 자동으로 느슨한 커플 링을 생성하지는 않지만, 이벤트 버스를 도입하면 "부모"를 몰라도 이벤트를 구독 할 수 있다는 데 동의합니다. 누가 말해요? Google IO 2009의 Ray Ryan 은 13:50의 google.com/events/io/2009/sessions/… 를 참조하십시오 .
scarfridge

@ scarfridge 예, 일종의 eventaggregator를 구현하면 내 의견에서 말했듯이 커플 링이 손실됩니다.
Louis Kottmann

.NET RX 내가, 모바일에있어 나중에 자세한 내용을 게시 할 예정입니다, 이벤트 애그리 게이터 (aggregator)인가
AndreasScheinert

답변:


1

모나드와 이벤트는 서로 잘 어울립니다. JavaScript 구현도 있어야한다고 생각합니다. http://msdn.microsoft.com/en-us/data/gg577609.aspx


승인이 지연되어 죄송합니다. "마이크로 소프트의 멍청한 것"은 정말 대단합니다. 이제 Reactive Extensions가 오픈 소스 된 후에는 훨씬 더 실용적입니다. 답변을 주셔서 감사합니다 (약간 확장하고 싶을 수도 있습니다)).
c69

그것은 당신이 찾고있는 것에 달려 있습니다 : 일부 소개 또는 특정 예. 어쨌든 Erik Meijer와 Brian Beckmann의 주제 9에 관한 채널 9 비디오와 대화를 살펴 보는 것이 좋습니다.
AndreasScheinert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.