Information for build perl-Devel-EnforceEncapsulation-0.51-3.oc9
| ID | 25692 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Package Name | perl-Devel-EnforceEncapsulation | |||||||||||||||
| Version | 0.51 | |||||||||||||||
| Release | 3.oc9 | |||||||||||||||
| Epoch | Draft | False | ||||||||||||||
| Source | git+https://gitee.com/opencloudos-stream/perl-Devel-EnforceEncapsulation.git?.#2372666f0cbc79841f44daab957d83490ff9e141 | |||||||||||||||
| 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 | fanjunkong | |||||||||||||||
| State | complete | |||||||||||||||
| Volume | DEFAULT | |||||||||||||||
| Started | Thu, 25 Jul 2024 21:55:34 CST | |||||||||||||||
| Completed | Thu, 25 Jul 2024 22:01:40 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 | * 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 |
