🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27998

Re: Kontrola typów i wartości dla własności

#27998
From: Waldek M.
Date: Wed, 06 Apr 2011 05:44
29 lines
2233 bytes
Dnia Tue, 05 Apr 2011 20:50:58 +0200, Rob Wolfe napisał(a):
> W takich przypadkach pierwszą opcją, którą trzeba na poważnie
> rozważyć jest enkapsulacja. Udostępnianie na zewnątrz własnych
> struktur danych (w tym przypadku `_foo`) jest z definicji niedobre.
> Po to zdefiniowałeś `_foo` jako składową niepubliczną, aby nikt
> nie miał do niej bezpośredniego 

Setter/getter miały właśnie dołożyć mi warstwę pośredniczącą;
taki lukier składniowy, dzięki któremu dostęp byłby maksymalnie prosty
i intuicyjny, ale w praktyce na 'setterze' mógłbym kontrolować 
co i w jaki sposób dostaje się do wewnątrz obiektu.
Tyle mojej pięknej idei ;-) która, jak widzę, sprawdziłaby
się chyba tylko dla typów prostych.

> Skoro tak to API powinno wyglądać jakoś tak:
> 
> def add_value(self, value)
> def get_value(self, index)
> 
> Gdy jednak zmiana API nie wchodzi w grę (te miliony użytkowników 
> na całym świecie), to w tym przypadku jedyną drogą jaką widzę
> jest użycie własnego typu. Nie jest to jakiś wielki "overkill",
> ale jak dla mnie niezbyt eleganckie rozwiązanie.

Czyli jednak wrapper. No nic, przemyślę to jeszcze.
Gdyby komuś wpadł do głowy inny pomysł, to ja bardzo chętnie ;)

Dzięki.
Waldek
Technical Details
Message-ID: <1qr9jecb9v0qj$.dlg@localhost.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-mail
References: <y4f0sfs7c4ca.dlg@localhost.localdomain> <87d3l0o7l9.fsf@smsnet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-mail
From: "Waldek M." <wm@localhost.localdomain>
Newsgroups: pl.comp.lang.python
Subject: Re: Kontrola typów i wartości dla
 własności
Date: Wed, 6 Apr 2011 07:44:43 +0200
Organization: Mojito.pl
Lines: 29
Message-ID: <1qr9jecb9v0qj$.dlg@localhost.localdomain>
References: <y4f0sfs7c4ca.dlg@localhost.localdomain> <87d3l0o7l9.fsf@smsnet.pl>
NNTP-Posting-Host: 89.174.106.129
Mime-Version: 1.0
X-Trace: news2.ipartners.pl 1302068675 17209 89.174.106.129 (6 Apr 2011 05:44:35 GMT)
X-Complaints-To: abuse@ipartners.pl
NNTP-Posting-Date: 6 Apr 2011 05:44:35 GMT
X-Antivirus: avast! (VPS 110405-1, 2011-04-05), Outbound message
X-Antivirus-Status: Clean
User-Agent: 40tude_Dialog/2.0.15.1pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit