ã€ãã³ãé§ååããã°ã©ãã³ã°(Event-Driven Programming)ãšã¯
ãŠãŒã¶ãŒåŽã®æäœã«ããååçãªã€ãã³ãã®çºçã«ãã£ãŠ, ã³ã³ãã¥ãŒã¿åŽã®èœåçãªããã»ã¹ã®å®è¡ãšããã°ã©ã ãããŒã®éžæã決å®ããããšããããã°ã©ãã³ã°ãã©ãã€ã .
GUIããã°ã©ãã³ã°/ããã€ã¹ãã©ã€ãããã°ã©ãã³ã°ã§ããçšãããã.
ã€ãã³ãé§ååãã©ãã€ã ã®åºç€æŠå¿µ
ã€ãã³ã
Event. ããã°ã©ã ã®ãããŒãšã¯å¥ã«çºçããå€éšã®äºè±¡, ãŸãã¯ãã®äºè±¡ã®æ å ±ãå«ãã ã¡ãã»ãŒãž.
- ããŠã¹ã¯ãªãã¯
- ããŒããŒãæŒäž
- ã»ã³ãµãŒãã·ã°ãã«åä¿¡ã«ããããŒããŠã§ã¢å ¥å
- å¥ã¹ã¬ããããã®éç¥
ããªã¬ãŒ
Trigger, ã€ãã³ããçºçããããã£ãã.
ããã°ã©ã å éšã§ã€ãã³ããèµ·ããããšããã€ãã³ããããªã¬ãŒããããšããã.
ã€ãã³ããã³ãã©
Event Handler.
ã€ãã³ããçºçãããšãã«å®è¡ããæç¶ã(ãµãã«ãŒãã³).
ã€ãã³ããã£ã¹ãããã£ãŒ
Event Dispatcher.
çºçããã€ãã³ããã€ãã³ããã³ãã©ãŒã«æ¯ãåããæ©èœ.
åçŽãªå®è£ ã§ã¯åãªãifæ§æ.
ãµãŒãæè¡ã ãš, Web HTTP Routing.
ã€ãã³ããã¥ãŒ
è€æ°ã®ã€ãã³ããåæçºçãããé£ç¶ããŠçºçãããããå Žåã«, é çªã«åŠçããããã«ä¿åããããŒã¿æ§é , FIFO.
ã¡ãã»ãŒãžãã¥ãŒãšããã.
ðã€ãã³ãã«ãŒã
ã€ãã³ããåŸ æ©ããã«ãŒããæã€æ©æ§. ããã«ã¢ããªã«ã«ãããŠæ«å°Ÿååž°ãwhileæãã€ãã£ããªã«ãã®åŠçãã€ãã³ãã«ãŒããšããããšããã.
ã¡ãã»ãŒãžã«ãŒã, ã¡ãã»ãŒãžãã³ããšã. ãšãã«, ãããã¡ã€ã³åŠçã§ããå Žåãã¡ã€ã³ã«ãŒããšãã.
ä»ã®ãã©ãã€ã ãšã®é¢ä¿
ã¡ãã»ãŒãžããã·ã³ã°ãšã®é¢ä¿
éåæIOã«ãã£ãŠåŠçãããããã³ã°ããããšãªãé²ããŠãããšãã芳ç¹ã§ã¯, åºçŸ©ã§ã¯ðã¡ãã»ãŒãžããã·ã³ã°ããã°ã©ãã³ã°ã®ç¯çã«å ¥ã.
ã€ãã³ãé§åããã°ã©ãã³ã°ã®ç¯å²ãåäžã®ã«ãŒãã®ãªãã®åºæ¥äºãšãããš, å¥ã®ã«ãŒã(ããã¯Threadã§ãã, ðActor ã¢ãã«ã«ãããActor)ãšã®ããåããã¡ãã»ãŒãžããã·ã³ã°ã®ç¯å²ã§æãããªãã°, äžäœæŠå¿µãšãããã.
ðXStateã¯Actorãå®çŸ©ããæœè±¡ãšããŠã¹ããŒããã·ã³ãæããŠãã.
çµèŸŒã¿éçºãšã®é¢ä¿
ã€ãã³ãé§åãšãããš, ããŒããŠã§ã¢ãããšã®ããªã¬ãŒãªã©ã®çµèŸŒã¿ã ã£ããGUIããã°ã©ãã³ã°ã䌎ãã¢ããªéçºã§äœ¿ãããããšããããå°è±¡.
ðšã€ãã³ãé§ååãã¿ãŒã³
- ðšCommand Pattern: éä¿¡ããŒã¿ã®ããã±ãŒãž.
- ðšObserver Pattern: on/emit
- ðPublisher-Subscriberãã¿ãŒã³: pub/sub
ðšFlux Pattern
ãã©ãã¯ã¹, Flux Archtecture.
ä¿åç¶æ ãStoresã«å§è²ã, ã€ãã³ããã³ãã©ã¯Actionã®ããªã¬ãŒã«ç¹åãã.
Reactã«ãããReduxãæå, Clojureã§ã¯ðreagent.
ðRelated
- ã€ãã³ãé§ååããã°ã©ãã³ã° - Wikipedia
- ã€ãã³ãé§ååããã°ã©ãã³ã° | ITçšèªèŸå ž | 倧å¡åäŒ