Instance Flyweight Pattern
The InstanceFlyweightPattern is an extreme form of the FlyweightPattern.
-
Name: InstanceFlyweightPattern
-
Classification: I have no clue.
-
Motivation:
-
Applicability: Replacing value types with immutable reference types while saving memory.
-
Structure: ?
-
Participants: ?
-
Collaborations: ?
-
Consequences: Decrease on memory usage; however, some calculations might become harder because of the inability to directly manipulate new instances as an optimization.
-
Implementation: Memoize the 'new' method!
-
Sample Code:
#!/usr/bin/env perl
package Integer;
{ my %ints;
sub new {
my $class = shift;
my $self;
unless(exists($self = $ints{$_[0]})){
$self = bless {'int' => $_[0]}, $class;
}
$self;
}
}
CategoryPattern