view Lib/IMPL/Object/Singleton.pm @ 93:0667064553ef

fixed _is_class in activator rewritten IMPL::Config::Resolve new features in the Abstract class
author wizard
date Wed, 28 Apr 2010 17:50:55 +0400
parents 0d2337e203c0
children d9dd3500ead3
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

=begin code

package Foo;

use base qw(IMPL::Object IMPL::Object::Singleton);

#....

Foo->isnatnce->some_work();

Foo->isnatnce->get_result();

=end code

=head1 DESCRIPTION

Реализует шаблон Singleton

=head1 MEMBERS

=head2 OPERATORS

=list

=item C<instance CLASS(@params)>

Создает или возвращает экземпляр класса, если экземляр не существует, то он создается с параметрами C<@params>.

=over

=cut