[code-review] Object::Meta::Plugin
Yuval Kogman <nothingmuch-JLKJG/[email protected]> Mon, 1 Dec 2003 22:14:50 +0200
| Newsgroups | gmane.comp.lang.perl.code-review-ladder |
|---|---|
| Message-ID | <[email protected]> |
--xXmbgvnjoT4axfJE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello... A friend of mine told me about this list just minutes after I uploaded to pause, so forgive the horrid timing... Nevertheless, there will always be another version. Object::Meta::Plugin is a classless object implementation, that aims at having a model of plugins instead of classes or object classes. Various objects export capabilities to any number of host objects, and these hosts are then the sum of their members. Morever, each method has it's own stack of plugins who export it. This stack can be manipulated to allow less linear inheritance, which is actually the reason I decided to reinvent the wheel.. I've got one design problem, and one technical one. The technical one is that i've not yet weakened the refs that should be weakened. The design problem is that currently all the data the plugin should have access to can be accessed via $_[0]->self(). This is bad, for obvious reasons. My solution is documented on the task to solve it: http://sourceforge.net/pm/task.php?func=3Ddetailtask&project_task_id=3D8972= 9&group_id=3D92673&group_project_id=3D33094 The project it was developed under can be accessed here: http://sourceforge.net/projects/frytunes and therein are instructions for getting the cvs version. This version is (at the time of writing) not very different from the release - some documentation fixes, is all. I won't explain further here, as I think it's a tad excessive, and i've put my best efforts into documenting the module. Thanks in advance! --=20 () Yuval Kogman <nothingmuch-JLKJG/[email protected]> 0xEBD27418 perl hacker & /\ kung foo master: *shu*rik*en*sh*u*rik*en*s*hur*i*ke*n*: neeyah!!!! --xXmbgvnjoT4axfJE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (Darwin) iD8DBQE/y6E6VCwRwOvSdBgRAi1oAJ0QHUngbO8p5uai9IW6lkpW1+AC5ACggMZ9 oVUvSyN/35arBbEX54fyeyE= =J63W -----END PGP SIGNATURE----- --xXmbgvnjoT4axfJE--