Mercurial > pub > Impl
view Lib/IMPL/Object/Singleton.pm @ 81:077357224bec
IMPL::Web::Security alpha version
IMPL::Security improovements
author | Sergey |
---|---|
date | Wed, 07 Apr 2010 14:45:34 +0400 |
parents | 16ada169ca75 |
children | 0d2337e203c0 |
line wrap: on
line source
package IMPL::Object::Singleton; use strict; use warnings; my %instances; sub instance { my $self = shift; $instances{$self} || ($instances{$self} = $self->new(@_)); } 1; __END__ =pod =head1 SYNOPSIS package Foo; use base qw(IMPL::Object IMPL::Object::Singleton); #.... Foo->isnatnce->some_work(); Foo->isnatnce->get_result(); =head1 DESCRIPTION Реализует шаблон Singleton =head1 MEMBERS =head2 OPERATORS =list =item C<instance CLASS(@params)> Создает или возвращает экземпляр класса, если экземляр не существует, то он создается с параметрами C<@params>. =over =cut