🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16429

Re: AOP

#16429
From: Adam Karpierz
Date: Thu, 12 Apr 2007 22:24
54 lines
2540 bytes
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.

> Wyglada to jak Java annotations, ale nie ma z owymi
> zgola nic wspolnego.

Dokladnie.
Poza skladnia zupelnie nic.
Zreszta skladnie poczatkowo miala byc tez inna
C# powa. mnie sie bardziej podobala

[dekor1, dekor2, dekor3]
def fun(..):
   ...

Mozna np (i czesto tak sie robi) uzyc dekoratorow
do "typechecking"
@typecheck(int, long, str)
def fun (a,b,c):
  ..

Zreszta jest to tak ogolny mechanizm ze nadaje sie
do bardzo wielu celow.
Szczegolnie tych w poprzek.

Ja np dekoratora uzywam do trzymania gramatyki
produkcji ktorej akcja jest wlasnie dekorowana funkcja
Bardzo proste, wygodne.

@grammar(" production : term production term ;")
def poduction(t):
   ,....

Moze lepiej tu to widac
http://www.python.org/doc/2.4.4/whatsnew/node6.html

> Ma natomiast racje Pan Galicki ze podobny efekt
>  mozna w Javie uzyskac przy pomocy dynamic proxy.

Nie sadze.
Dynamic proxy to raczej zalatwia tylko mala czesc
mozliwosci dekoratorow Pythona (na ile mi sie wydje ze
znam a raczej wyczuwam Javove dynamic proxy).

AK
Technical Details
Message-ID: <evmbl7$hse$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Adam Karpierz" <karpierz@_NOSPAM_python.pl>
Newsgroups: pl.comp.objects
Subject: Re: AOP
Date: Fri, 13 Apr 2007 00:24:51 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 56
Message-ID: <evmbl7$hse$1@inews.gazeta.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>
NNTP-Posting-Host: dns.welnowiec.net
X-Trace: inews.gazeta.pl 1176416743 18318 83.143.96.1 (12 Apr 2007 22:25:43 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Thu, 12 Apr 2007 22:25:43 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Priority: 3
X-RFC2646: Format=Flowed; Original
X-Newsreader: Microsoft Outlook Express 6.00.2900.3028
X-User: karpierz
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit