Duck Typing je populární styl programování. Ačkoliv si o tom myslím svoje, tak mi to nebrání abych neodkazoval na implementaci Duck Typing v Delphi.
DuckDuckDelphi (případně duckduckdelphi na google code) je knihovna pod MIT licencí a umožňuje používat Duck Typing v Delphi.
Např. můžete napsat místo (ukázky jsou přímo z webu autora)
if AObject is TEdit then
TEdit(AObject).visible := False;
tohle
if AObject.duck.has('visible') then
AObject.duck.sett('visible', False);
nebo
Form1.duck.all.has('visible').sett(false);
což u všech komponent, které mají visible nastaví Visible := False;
Čím samozřejmě možnosti zdaleka nekončí.
Cílem je verze XE2, ale pravděpodobně budou fungovat i starší verze s rozšířenou podporou RTTI (tj. 2010+). I když jsem se nedíval jak je to dělané, tak mi to přijde jako typické použití Class Helperu - což čím dál více považuji za nádherné rozšíření jazyka.
Osobně mi to připadá jako úkrok stranou, kdy se snažíme obcházet kontrolu kompilátoru, ale proti gustu… Jaký na to máte názor vy?
Datum: 2012-05-08 21:14:00 Tagy: komponenty, class helper