Przykład 1: Wyobraźmy sobie, że naszym zadaniem jest stworzenie prostej funkcjonalność blokowania użytkowników, którzy trzykrotnie podali nieprawidłowe hasło. Do tego zadania świetnie nadaje się moduł Cache, którego obsługę można zamknąć w trzech obiektach:
Obiekt: users.blacklist.Add
$#params(String userId)${
@cacheName = "users.blacklist";
ifNot(cache.isCacheCreated(@cacheName), {
cache.createSimpleCache(@cacheName);
});
cache.put(@cacheName, @userId, @userId);
}
Obiekt: users.blacklist.IsBlocked
$#params(String userId)${
@cacheName = "users.blacklist";
if(cache.isCacheCreated(@cacheName), {
return(cache.containsKey(@cacheName, @userId));
}, {
return(false);
});
}
Obiekt: users.blacklist.Clear (zadanie uruchamiane np.: w nocy)
$cache.deleteCache("users.blacklist")