-------------------------------------------------------------------------------- Fedora Update Notification FEDORA-2011-5934 2011-04-25 01:21:36 --------------------------------------------------------------------------------
Name : perl-Devel-EnforceEncapsulation Product : Fedora 15 Version : 0.50 Release : 3.fc15 URL : http://search.cpan.org/dist/Devel-EnforceEncapsulation/ Summary : Find access violations to blessed objects Description : Encapsulation is the practice of creating subroutines to access the properties of a class instead of accessing those properties directly. The advantage of good encapsulation is that the author is permitted to change the internal implementation of a class without breaking its usage.
Object-oriented programming in Perl is most commonly implemented via blessed hashes. This practice makes it easy for users of a class to violate encapsulation by simply accessing the hash values directly. Although less common, the same applies to classes implemented via blessed arrays, scalars, filehandles, etc.
This module is a hack to block those direct accesses. If you try to access a hash value of an object from its own class, or a superclass or subclass, all goes well. If you try to access a hash value from any other package, an exception is thrown. The same applies to the scalar value of a blessed scalar, entry in a blessed array, etc.
To be clear: this class is NOT intended for strict enforcement of encapsulation. If you want bullet-proof encapsulation, use inside-out objects or the like. Instead, this module is intended to be a development or debugging aid in catching places where direct access is used against classes implemented as blessed hashes.
To repeat: the encapsulation enforced here is a hack and is easily circumvented. Please use this module for good (finding bugs), not evil (making life harder for downstream developers).
-------------------------------------------------------------------------------- Update Information:
This is the first Fedora/EPEL release of perl-Devel-EnforceEncapsulation. -------------------------------------------------------------------------------- References:
[ 1 ] Bug #695281 - Review Request: perl-Devel-EnforceEncapsulation - Find access violations to blessed objects https://bugzilla.redhat.com/show_bug.cgi?id=695281 --------------------------------------------------------------------------------
This update can be installed with the "yum" update program. Use su -c 'yum update perl-Devel-EnforceEncapsulation' at the command line. For more information, refer to "Managing Software with yum", available at http://docs.fedoraproject.org/yum/.
All packages are signed with the Fedora Project GPG key. More details on the GPG keys used by the Fedora Project can be found at https://fedoraproject.org/keys --------------------------------------------------------------------------------
package-announce@lists.fedoraproject.org