Information for build perl-Devel-EnforceEncapsulation-0.51-4.oc9
| ID | 39110 | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Package Name | perl-Devel-EnforceEncapsulation | |||||||||||||||||||||||
| Version | 0.51 | |||||||||||||||||||||||
| Release | 4.oc9 | |||||||||||||||||||||||
| Epoch | Draft | False | ||||||||||||||||||||||
| Source | git+https://gitee.com/opencloudos-stream/perl-Devel-EnforceEncapsulation.git?.#84d9a20367f6d1dc6467279bf5c139184a59c10f | |||||||||||||||||||||||
| 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). | |||||||||||||||||||||||
| Built by | bbrucezhang | |||||||||||||||||||||||
| State | complete | |||||||||||||||||||||||
| Volume | DEFAULT | |||||||||||||||||||||||
| Started | Fri, 13 Jun 2025 17:08:30 CST | |||||||||||||||||||||||
| Completed | Fri, 13 Jun 2025 17:10:48 CST | |||||||||||||||||||||||
| Task | build (dist-oc9-epol, /opencloudos-stream/perl-Devel-EnforceEncapsulation.git:.:origin/master) | |||||||||||||||||||||||
| Extra | {'source': {'original_url': 'git+https://gitee.com/opencloudos-stream/perl-Devel-EnforceEncapsulation.git?.#origin/master'}} | |||||||||||||||||||||||
| Tags |
|
|||||||||||||||||||||||
| RPMs |
|
|||||||||||||||||||||||
| Logs |
|
|||||||||||||||||||||||
| Changelog | * Wed Jun 11 2025 bbrucezhang <bbrucezhang@tencent.com> - 0.51-4 - Rebuilt for loongarch64 * Tue Jul 02 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 0.51-3 - rebuild * Mon Jul 01 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 0.51-2 - rebuild * Thu Jun 27 2024 OpenCloudOS Release Engineering <releng@opencloudos.tech> - 0.51-1 - initial build |
