initial checkin
[gitmo/MooseX-Patterns-GOF.git] / lib / MooseX / Patterns / GOF.pm
1 package MooseX::Patterns::GOF;
2
3 use warnings;
4 use strict;
5
6 =head1 NAME
7
8 MooseX::Patterns::GOF - Moose Versions of the 'Gang of Four' Design Patterns.
9
10 =head1 VERSION
11
12 Version 0.01
13
14 =cut
15
16 our $VERSION = '0.01';
17
18 =head1 SYNOPSIS
19
20 Please see the SYNOPSIS section of each individual Pattern Class.
21
22 =head1 DESCRIPTION
23
24 Design Patterns are best practices solutions to common problems faced by 
25 software engineers.  Orginally popularized by the book of the same name
26 L<http://en.wikipedia.org/wiki/Design_Patterns> these patterns, and how to 
27 implement them in a programming language, continue to have an impact on
28 software design.
29
30 L<MooseX::Patterns::GOF> is a set of classes which are both examples of the
31 classic patterns with a Moosified spin, as well as useful bases for your
32 practical projects. Thus the purpose of these classes are both educational 
33 (for learning L<Moose> and for increasing awareness of good software design)
34 and practical.
35
36 Design patterns are always evolving; additionally the classic patterns we will
37 explore here were originally created to help solve problems that arise with
38 statically compiled and strongly typed languages (such as Java).  So we hope to
39 find more Perlish (and Moose-ish) solutions when we can.  Contributions,
40 suggestions and constructive criticism welcomed!
41
42 =head1 PATTERNS
43
44 The classic Design Patterns books described many patterns organized into the
45 following three types:
46
47 =head2 Creational
48
49 Patterns having to do with the creation of new objects.
50
51 =head2 Structural
52
53 Patterns for class composition and inheritance.
54
55 =head2 Behavioral
56
57 Patterns for object communication.
58
59 =head1 AUTHOR
60
61 John Napiorkowski, C<< <jjn1056 at yahoo.com> >>
62
63 =head1 BUGS
64
65 Please report any bugs or feature requests to C<bug-moosex-patterns-gof at rt.cpan.org>,
66 or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-Patterns-GOF>.  
67 I will be notified, and then you'll automatically be notified of progress on 
68 your bug as I make changes.
69
70 =head1 SUPPORT
71
72 You can find documentation for this module with the perldoc command.
73
74     perldoc MooseX::Patterns::GOF
75
76
77 You can also look for information at:
78
79 =over 4
80
81 =item * RT: CPAN's request tracker
82
83 L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX-Patterns-GOF>
84
85 =item * AnnoCPAN: Annotated CPAN documentation
86
87 L<http://annocpan.org/dist/MooseX-Patterns-GOF>
88
89 =item * CPAN Ratings
90
91 L<http://cpanratings.perl.org/d/MooseX-Patterns-GOF>
92
93 =item * Search CPAN
94
95 L<http://search.cpan.org/dist/MooseX-Patterns-GOF>
96
97 =back
98
99
100 =head1 ACKNOWLEDGEMENTS
101
102
103 =head1 COPYRIGHT & LICENSE
104
105 Copyright 2008 John Napiorkowski, all rights reserved.
106
107 This program is free software; you can redistribute it and/or modify it
108 under the same terms as Perl itself.
109
110
111 =cut
112
113 1; # End of MooseX::Patterns::GOF