On Po, čen 30, 2008 at 08:04:02 +0200, zu1234 wrote: > Mohl by, prosím, někdo začátečníkovi vysvětlit po-lopatě pojem 'wraper'. Dobrý den,
wrapper je doslava přeloženo "obal", tedy sada funkcí/ tříd/metod/čehokoliv, která zapouzdřuje jinou sadu funkcí /metod/tříd/čehokoliv, poskytuje k ní jiné rozhraní. Je běžné, že když se píší moduly pro Python zapouzdřující existující (Cčkové, nativní, kompilované) knihovny, jako je GTK, MySQL client library, etc., napíše se v C (pomocí Python-C API, což je nevyhnutelné, neb není jiný způsob, jak propojit dynamický svět Pythonu s kompilovaným Cčkovým okolím jen jednoduchý obal Cčkovských funkcí, často 1:1 mapování C funkcí na Pythonské, protože psát moduly v C není dvakrát jednoduché. Ale jakmile je rozhraní knihovny jednou Pythonu zpřístupněno (byť ve své Cčkové ošklivosti) pomocí tohoto wrapperu, který obaluje původní funkce určitými rozhraními potřebnými k tomu, aby je šlo volat z Pythonu, není problém napsat další, vysokoúrovňový, objektový obal přímo v Pythonu (to již je snadné), který zapouzdřuje před uživatelem tyto jednoduché funkce a nabízí konzistentní a příjemné rozhraní. Taktéž se toho používá pro skrývání implementačních rozdílů (stejné rozhraní postavené nad několika různými moduly, např. zmíněné DB API) Doufám, že to pomůže. Filip Štědronský -- regnarg --- http://rg.pretel.cz -- JID: [EMAIL PROTECTED] V péči o štěstí druhých nacházíme své vlastní. --Platón Přátelství může trvat jedině mezi dobrými lidmi. --Cicero _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python