リファクタリング中、私はしばらくの間、下位互換性を維持しようとしています。オブジェクトにメソッドを設定できるかどうか疑問に思っていますが、そのメソッドがサブクラス化されたクラスに継承されないようにしますか?例:与えられた
package Class {
use Moose;
sub foo { 'test' };
}
my $class = Class->new;
$class->foo;
動作しますが
package Extended::Class {
use Moose;
extends 'Class';
}
my $class = Extended::Class->new;
$class->foo;
しません。
これはおそらく何らかの原則を破ることに気づきますが、私はこれらのインターフェースを廃止します。