2008-05-31から1日間の記事一覧

Mooseでデザパタ - Templateパターン

#!/usr/bin/env perl use strict; use warnings; # Template パターン # # Java言語で学ぶデザインパターンと同様の例題をPerl+Mooseで記述した。 # # coded by Dann { package AbstractDisplay; # 抽象クラスAbstractDisplay use Moose::Role; requires &#3…

Mooseでデザパタ - Bridgeパターン

#!/usr/bin/env perl use strict; use warnings; # Bridge パターン # # Java言語で学ぶデザインパターンと同様の例題をPerl+Mooseで記述した。 # # coded by Dann # { package Display; use Moose; has impl => ( is => 'rw', required => 1, handl…

Mooseでデザパタ - Factory Methodパターン

# Factory Method パターン # # Java言語で学ぶデザインパターンと同様の例題をPerl+Mooseで記述した。 # # coded by Dann # { package Product; use Moose::Role; requires 'use'; } { package Factory; use Moose::Role; requires 'create_pro…

Mooseでデザパタ - Proxyパターン

#!/usr/bin/env perl use strict; use warnings; use Perl6::Say; # Proxy パターン # # Java言語で学ぶデザインパターンと同様の例題をPerl+Mooseで記述した。 # # coded by Dann # { package Printable; use Moose::Role; requires 'set_printer_name&…

Mooseでデザパタ - Visitorパターン

#!/usr/bin/env perl use strict; use warnings; # Visitor パターン # # Fileクラスはシステムで定義してあるのでFile以外のクラス名とすること # # 印字内容は検討中 # { package FileNode; use Moose; use Perl6::Say; has name => ( is => 'rw',…

MooseでDP入門を書いて思った事

hyukiさんのDP入門のRuby版コードをそのままPerlにportingしてみて何点か思った事。 Mooseで少し思ったところ コンストラクタで何か処理させたい場合は、BUILD使うってのがFAQに書いてあるんだけど直感的でない hasのdefaultで設定する要素にparameter渡した…

MooseでList::RubyLike

List::RubyLikeをMoose::Autobox用に移植してみました。 まだ足りないメソッドはありますが、おいおい追加していきます。コード package Moose::Autobox::Array::RubyLike; use Moose::Role; use Moose::Autobox; use List::Util; use Carp qw/croak/; our $…