NAME
Scope::Session::Flyweight - Attach light-weight instance creation for Scope::Session
VERSION
Version 0.01
SYNOPSIS
work as factory
my
$flyweight
= Scope::Session::Flyweight->acquire(
q|Test::Object|
=> (
id
=> 10 ) );
my
$flyweight2
= Scope::Session::Flyweight->acquire(
q|Test::Object|
=> (
id
=> 10 ) );
work as role
package
Test::Object;
sub
identifier {
my
(
$class
,
%args
) =
@_
;
return
$args
{id};
}
sub
new {
my
(
$class
,
%args
) =
@_
;
return
bless
{
%args
} =>
$class
;
}
my
$flyweight
= Test::Object->acquire(
id
=> 10 );
my
$flyweight2
= Test::Object->acquire(
id
=> 10 );
METHODS
acquire
TARGET CLASS
target class must be implemented following methods.
indentifier
get constructor options and return object identity string.
new
create instance
get a same identifier instance
AUTHOR
Daichi Hiroki, <hirokidaichi<AT>gmail.com>
LICENSE AND COPYRIGHT
Copyright 2009 Daichi Hiroki.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.