Là một trong những cách tiếp cận tốt nhất hoặc tệ nhất?Tôi nên chuyển đối tượng tới chương trình con như thế nào?
sử dụng phạm vi:
my $cache = CHI->new(driver => 'File', expires_in => 3600);
sub one {
if (my $data = $cache->get('key_one')) {
# ...
}
sub two {
if (my $data = $cache->get('key_two')) {
# ...
}
đi qua các đối tượng như là đối số:
my $cache = CHI->new(driver => 'File', expires_in => 3600);
sub one {
my ($cache) = @_;
if (my $data = $cache->get('key_one')) {
# ...
}
sub two {
my ($argument1, $cache) = @_;
if (my $data = $cache->get('key_two')) {
# ...
}
hoặc tạo trong chương trình con một trường hợp mới:
sub one {
my $cache = CHI->new(driver => 'File', expires_in => 3600);
if (my $data = $cache->get('key_one')) {
# ...
}
sub two {
my $cache = CHI->new(driver => 'File', expires_in => 3600);
if (my $data = $cache->get('key_two')) {
# ...
}