🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16435

Re: AOP

#16435
From: Seweryn Habdank-Wojewódzki
Date: Fri, 13 Apr 2007 09:41
49 lines
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-mail
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>

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