AOPが騒がれ始めた辺りでJavaを辞めたので、AOPをよくわかってない。 で、AOPに関する記事を斜め読みしてたら「Separation of Concerns」ってのと「Crosscutting Concern」ってのが出てきたのでMooseでやってみた。 良くありがちな銀行口座クラスをMooseで作ってみる。 package BankAccount; use Moose; has 'balance' => (is => 'rw', isa => 'Int', default => 0); sub deposit { my ( $self, $amount ) = @_; $self->balance( $self->balance + $amount ); } sub withdraw { my ( $self, $amount ) = @_; $self->balance >=