Logoj0ke.net Open Build Service > Projects > internetx:1351100200:1002568494 > ImageMagick-6.9.6 > Binaries > ImageMagick-perl-6.9.6-8.3.... > Dependencies
Sign Up | Log In

Dependency of ImageMagick-perl-6.9.6-8.3.x86_64.rpm

Name: perl-Devel-EnforceEncapsulation

Project: CentOS_7.5

Repository: oss

Title: 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).

Version: 0.50

Release: 8.el7

Architecture: noarch

Size: 23.4 KB

Build Time: 2014-07-04 06:16:38 +0200 (about 10 years ago)

Provides

Symbol Required by
perl(Devel::EnforceEncapsul...
perl-Devel-EnforceEncapsula...

Requires

Symbol Provided by
perl(:MODULE_COMPAT_5.16.3) perl
perl(Carp) perl-Carp
perl(English) perl
perl(overload) perl
perl(strict) perl
perl(warnings) perl