A mangler egy programtervezési minta, ami a funkcionális nyelvekben szokásos reduce vagy map leképezést valósítja meg alapvetően nem funkcionális környezetben. Lényege, hogy egy lista minden elemére végrehajtja ugyanazt a műveletsort, és a végén még egy műveletet végrehajthat az így kapott adatokra. A bemenet tipikusan szótár adatstruktúrák (map, hash, dictionary a neve különböző nyelveken) listája, ami végrehajtja a belső műveleteket, és a belső adatokat külső szűrőnek adja.
Tipikusan keresésre használják, illetve arra, hogy a felhasználótól kapott bemenetet további feldolgozásra alkalmasabb normálformára hozzák.
Fontos különbség más mintákkal szemben, hogy helyben módosítja az adatokat. A minta ötlete Dr. John Watsontól származik, aki a TransUnion's Research and Development Lab munkatársa. Java
// This is a trivial implementation of Mangler in Java.
public interface TokenMangler { List<String> mangleTokens (List<String> tokens); }
public class LowerCasingTokenMangler implements TokenMangler {
List<String> toLowerCase (List<String> tokens) { List<String> results = new ArrayList<String>();
for (String token : tokens) { results.add(token.toLowerCase());
return results;
Fordítás
Kategória:Programtervezési minták Kategória:Java-kódpéldák