1
Class/Meta version 0.52
2
=======================
4
Class::Meta provides an interface for automating the creation of Perl classes
5
with attribute data type validation. It differs from other such modules in
6
that it includes an introspection API that can be used as a unified interface
7
for all Class::Meta-generated classes. In this sense, it is an implementation
8
of the "Facade" design pattern.
12
One might argue that there are already too many class automation and parameter
13
validation modules on CPAN. And one would be right. They range from simple
14
accessor generators, such as Class::Accessor, to simple parameter validators,
15
such as Params::Validate, to more comprehensive systems, such as
16
Class::Contract and Class::Tangram. But, naturally, none of them could do
17
exactly what I needed.
19
What I needed was an implementation of the "Facade" design pattern. Okay, this
20
isn't a facade like the GOF meant it, but it is in the respect that it
21
creates classes with a common API so that objects of these classes can all be
22
used identically, calling the same methods on each. This is done via the
23
implementation of an introspection API. So the process of creating classes
24
with Class::Meta not only creates attributes and accessors, but also creates
25
objects that describe those classes. Using these descriptive objects, client
26
applications can determine what to do with objects of Class::Meta-generated
27
classes. This is particularly useful for user interface code.
31
To install this module, type the following:
38
Or, if you don't have Module::Build installed, type the following:
47
This module requires these other modules and libraries:
49
Data::Types 0.05 or later
50
Class::ISA 0.35 or later
52
The test suite requires:
54
Test::Simple 0.17 or later
58
Copyright (c) 2002-2005, David Wheeler. All Rights Reserved.
60
This module is free software; you can redistribute it and/or modify it under
61
the same terms as Perl itself.