Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: perl-Devel-EnforceEncapsulation | Distribution: Unknown |
Version: 0.50 | Vendor: CentOS |
Release: 8.el7 | Build date: Tue Jun 10 08:49:21 2014 |
Group: Development/Libraries | Build host: worker1.bsys.centos.org |
Size: 40094 | Source RPM: perl-Devel-EnforceEncapsulation-0.50-8.el7.src.rpm |
Packager: CentOS BuildSystem <http://bugs.centos.org> | |
Url: http://search.cpan.org/dist/Devel-EnforceEncapsulation/ | |
Summary: Find access violations to blessed objects |
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).
GPL+ or Artistic
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.50-8 - Mass rebuild 2013-12-27 * Mon Aug 20 2012 Daniel Mach <dmach@redhat.com> - 0.50-7.1 - Rebuild for perl 5.16 * Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.50-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Jun 12 2012 Petr Pisar <ppisar@redhat.com> - 0.50-6 - Perl 5.16 rebuild * Wed Jan 11 2012 Paul Howarth <paul@city-fan.org> - 0.50-5 - BR: perl(Carp) and perl(English) * Mon Jun 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.50-4 - Perl mass rebuild * Mon Apr 11 2011 Paul Howarth <paul@city-fan.org> - 0.50-3 - Clean up for modern rpmbuild * Mon Apr 11 2011 Paul Howarth <paul@city-fan.org> - 0.50-2 - Nobody else likes macros for commands * Fri Mar 18 2011 Paul Howarth <paul@city-fan.org> - 0.50-1 - Initial RPM version
/usr/share/doc/perl-Devel-EnforceEncapsulation-0.50 /usr/share/doc/perl-Devel-EnforceEncapsulation-0.50/CHANGES /usr/share/doc/perl-Devel-EnforceEncapsulation-0.50/LICENSE /usr/share/doc/perl-Devel-EnforceEncapsulation-0.50/README /usr/share/doc/perl-Devel-EnforceEncapsulation-0.50/index.html /usr/share/man/man3/Devel::EnforceEncapsulation.3pm.gz /usr/share/perl5/vendor_perl/Devel /usr/share/perl5/vendor_perl/Devel/EnforceEncapsulation.pm
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Apr 9 14:35:08 2024