Manglerův vzor - Mangler pattern
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Mangler je software návrhový vzor. Mangler je vzor, který provádí více operací nad řadou dat, podobně jako MapReduce funkce uvnitř Bigtable a Dynamo společnosti Amazon. Mangler je obvykle napájen řadou map, ze kterých provádí své vnitřní operace a předává svůj vnitřní stav / data externímu filtru.
Typické použití Manglerova vzoru je během interních vyhledávacích operací. Při analýze dotazu od koncového uživatele se systém pokusí odstranit řadu nepotřebných tokenů a znovu sestavit původní dotaz do použitelnějšího funkčního dotazu.
Důležitým rozdílem mezi Manglerem a jinými vzory je optimalizace „Modify in place“, kterou vytvořil tvůrce vzoru.
Tento vzor vytvořil Dr. John Watson, během svého působení ve výzkumné a vývojové laboratoři společnosti TransUnion.
Jáva
// Toto je triviální implementace Manglera v Javě.veřejnost rozhraní TokenMangler { Seznam<Tětiva> mangleTokens (Seznam<Tětiva> žetony);}veřejnost třída LowerCasingTokenMangler nářadí TokenMangler { Seznam<Tětiva> mangleTokens (Seznam<Tětiva> žetony) { Seznam<Tětiva> Výsledek = Nový ArrayList<Tětiva>(); pro (Tětiva žeton : žetony) { Výsledek.přidat(žeton.toLowerCase()); } vrátit se Výsledek; }}