Przygody z oprogramowaniem
  • Start
  • Szkolenia
    • Szkolenia otwarte
    • Katalog szkoleń
  • Usługi
    • Konsulting
    • Mentoring
    • Research & Development
  • Blog
  • Wiedza
    • Strefa wiedzy
    • BFsharp
    • SaaS
  • Klienci
  • Kontakt
0

EventBroker w JavaScript

15 April, 2013-Blog, JavaScript, Wzorce

Wyobraźmy sobie kompozytowy ekran, na którym widnieje lista dostępnych do kupna produktów. Użytkownik po dodaniu jednego z nich do koszyka dostanie informację o wykonanej akcji (np. animowana notyfikacja), a w innym miejscu interfejsu komponent wyświetlający stan koszyka zostanie odświeżony.
Powyższy scenariusz można rozwiązać z użyciem wzorca EventBroker (więcej w najnowszym numerze programisty).

Implementacja wspomnianego wzorca w JS jest bardzo krótka i prosta.

function EventBroker() {
    var self = this;
    self.list = [];

    this.subscribe = function(event, handler) {
        if (!self.list[event])
            self.list[event] = [];

        self.list[event].push(handler);
    }

    this.publish = function(event, data) {
        if (self.list[event]) {
            for( var n in self.list[event] ) {
                self.list[event][n](data);
            }
        }
    };
}

Publikator (fasada odpalająca akcje dodaj) publikuje zdarzenie, a subskrybent (widget koszyka) na nie oczekuje i odświeża swój stan.

Przykład można znaleźć tutaj. Otwórz źródło strony, by zobaczyć szczegóły implementacji i interakcję.

Czytaj dalej | Dyskutuj

Kategorie

Architecture BFsharp Blog Business Framework C# CqRS DDD Debugging DSL EntityFramework Formula JavaScript Linq NHibernate SaaS Silverlight SQL Visual Studio WPF Wzorce

O mnie


RSS Feed

© macmichal.pl 2011 Wszystkie prawa zastrzeżone