in reply to Re: Re: Looking for exportable privacy and protection
in thread Looking for exportable privacy and protection
a-la-Class::Struct, with exported functions that install accessors by means of evalPerhaps, but Class::Struct may not be the best module to base your OO interface on since it's intent is to implement C structs in Perl. That and eval is evil ;)
using subroutine attributes, and perhaps variable attributes (still experimental in 5.8?)It'd certainly look very nice syntatically, but I believe attributes are still somewhat of a grey area (esp. for variables).
installing methods on the fly using AUTOLOAD and *{$AUTOLOAD} = sub { do { this() and that() } } ;This is certainly a nice way of generating accessor methods if somewhat heavy-handed (*anything* could be an accessor).
Unfortunately there is a fundamental flaw to this whole approach - it is *impossible* to have truly encapsulated classes in Perl without taking advantage of lexical scoping. So while closures may look like an abberation in your otherwise pristine code, it may be a necessity to achieve your goal of true encapsulation. I think I'll write a meditation on the whole subject of encapsulation in perl in the next week or so.
HTH
_________
broquaint
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: Looking for exportable privacy and protection
by bronto (Priest) on Jul 11, 2002 at 12:04 UTC |