Article View: pl.comp.objects
Article #16435Re: AOP
From: Seweryn Habdank-Wojewódzki
Date: Fri, 13 Apr 2007 09:41
Date: Fri, 13 Apr 2007 09:41
49 lines
2909 bytes
2909 bytes
Witam Adam Karpierz wrote: > Użytkownik "A.L." <fela@2005.com> napisał: > >> OK, ale skad sie bioar te arg1, arg2 itd. >> Czy przypadkiem nie powinny >> to byc rowniez argumenty fun? > > Nie. To zupelnie osobne argumenty dekoratora. > Moze to byc cokolwiek (np typy). > Wazne jest jeszcze to ze dekorator moze > sobie jako atrybuty dekorowanej funkcji/metody > funkcji zapamietac cokolwiek. Właśnie. Dziękuję za wsparcie merytoryczne. Mnie jednak podoba się to, że argumentem może być obiekt, który pamięta stan, czyli można w poprzek np. optymalizacji wykonywać proces poprawy modelu. I to nie jest tylko kwestia prymitywnego logowania, czy sprawdzania typów. To daje duże możliwości wykonania programu/algorytmu na wielu płaszczyznach nie powodująć koszmarnego gmatwania kodu. Nadal wszystko w Pythonie (>=2.4), beż żadnych bonusów. Do tego dochodzą dwie sprawy (przynajmniej ja je rozróżniam). Taki Pythonowy dekorator jest w oryginalnej wersji transparentny dla użytkownika. To znaczy jeśli funkcja jest wołana to czy jest obłożona dekoratorem czy nie to użytkownik tego nie wie nie zaglądając do implementacji - składnia jest identyczna. To jest ważne dla logowania, kontroli typów i innych sprawa. Jednak ... Dla matematyki wolę (ale to moja prywatna sprawa) używać dekorowania wprost, to znaczy, że nie korzystam z dekoratora dokładnie pythonowego, tylko z jego wydłużonego zapisu, i określam, że udekorowana funkcja inaczej się nazywa (dla czystości kontekstu), ale wywołanie (poza nazwą) jest nadal takie jak funkcji pierwotnej - wyniki i argumenty są te same. To ma znaczenie, kiedy np. stosuje się różne modyfikatory modelu, i chcemy mieć pewność który jest użyty. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Technical Details
Message-ID:
<evnjc0$5fd$1@tkdami.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!news.tkdami.net!news.tkdami.pl!not-for-mailReferences:
<evl4uq$mem$1@inews.gazeta.pl> <evla3n$ip1$1@tkdami.pl> <vh4t13l8k9cjuvjncu5l1isfa1vkn4335e@4ax.com> <evm55h$7ds$1@tkdami.pl> <qd6t13l10bkpa55tme7msq5no2ng9icigs@4ax.com> <evm7pd$t7q$1@inews.gazeta.pl> <evm8so$5is$1@inews.gazeta.pl> <vt9t131g9ofrk8ca4vimhn31j6ob7a0tl5@4ax.com> <evmbl7$hse$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!news.tkdami.net!news.tkdami.pl!not-for-mail From: Seweryn Habdank-Wojewódzki <habdank@gmail.com> Newsgroups: pl.comp.objects Subject: Re: AOP Date: Fri, 13 Apr 2007 11:41:40 +0200 Organization: VectraNet Oswiecim Lines: 50 Message-ID: <evnjc0$5fd$1@tkdami.pl> References: <evl4uq$mem$1@inews.gazeta.pl> <evla3n$ip1$1@tkdami.pl> <vh4t13l8k9cjuvjncu5l1isfa1vkn4335e@4ax.com> <evm55h$7ds$1@tkdami.pl> <qd6t13l10bkpa55tme7msq5no2ng9icigs@4ax.com> <evm7pd$t7q$1@inews.gazeta.pl> <evm8so$5is$1@inews.gazeta.pl> <vt9t131g9ofrk8ca4vimhn31j6ob7a0tl5@4ax.com> <evmbl7$hse$1@inews.gazeta.pl> Reply-To: habdank@gmail.com NNTP-Posting-Host: 82.139.21.12 Mime-Version: 1.0 X-Trace: tkdami.pl 1176457409 5613 82.139.21.12 (13 Apr 2007 09:43:29 GMT) X-Complaints-To: usenet@news.tkdami.pl NNTP-Posting-Date: Fri, 13 Apr 2007 09:43:29 +0000 (UTC) User-Agent: KNode/0.10.4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit