Algorithmic Sets
(Unterschied zwischen Versionen)
Mkurz (Diskussion | Beiträge) |
Mkurz (Diskussion | Beiträge) |
||
| Zeile 12: | Zeile 12: | ||
* So if a new predicate is needed only a new implementation of Predicate<T> needs to be implemented. | * So if a new predicate is needed only a new implementation of Predicate<T> needs to be implemented. | ||
* These Predicate<T> implementations can introduce configurable properties, for a more flexible solution. | * These Predicate<T> implementations can introduce configurable properties, for a more flexible solution. | ||
| − | * <b>Definition:</b> An algorithmic set is defined by | + | * <b>Definition:</b> An algorithmic set is defined by its predicate. |
== Performance considerations == | == Performance considerations == | ||
| − | * This approach is only reasonable if all tested elements are in memory, querying them from a database would be | + | * This approach is only reasonable if all tested elements are in memory, querying them from a database would be at least suboptimal. |
| − | * If the amount of different | + | |
| + | |||
| + | == Algorithmic sets and Notifications == | ||
| + | * | ||
| + | |||
| + | * If the amount of different algorithmic sets is relatively low (this is often the case), it makes sense to group | ||
Version vom 8. November 2014, 10:01 Uhr
Definition Algorithmic Set
- We want to define an algorithmic set via a Predicate deciding if an element is part of the set or not.
- In java we could use the functional interface Predicate<T>
public interface Predicate<T>{
// If test returns true, we consider the element be part of the algorithmic set.
boolean test(T element);
}
- Such a simple definition allows a polymorphic approach for defining set predicates.
- So if a new predicate is needed only a new implementation of Predicate<T> needs to be implemented.
- These Predicate<T> implementations can introduce configurable properties, for a more flexible solution.
- Definition: An algorithmic set is defined by its predicate.
Performance considerations
- This approach is only reasonable if all tested elements are in memory, querying them from a database would be at least suboptimal.
Algorithmic sets and Notifications
- If the amount of different algorithmic sets is relatively low (this is often the case), it makes sense to group