XIRCDでのMooseX::POEの使い方
MooseX::POEの使い方の例として、XIRCDを少し見てみました。
http://coderepos.org/share/browser/lang/perl/XIRCD/trunk/
以下、メモです
- Component
- MooseX::POEを使う
- new時にPOCO::XXXをspawan
- POE系の冗長な記述を簡易に書く仕組み
- Sub::Exporterでpostなどなどをexportする使い方はとても綺麗
- get_argsも同様に短く書けていい
- Moose系
- MooseX::Daemonize, MooseX::POE, MooseX::POE::Aliased
ポイントは、以下の3点かなと思いました。
- MooseX::POEを使うことでPOE::Sessionうんぬんの記述を無くす事
- ComponentでPOEの冗長な記述を簡易に記述できるように関数をexportすること
- MooseX::Daemonizeでdaemonの記述が簡易になっている点
これだけコードがシンプルにできると、POEのコードも少し書いてみようかなぁなどと思えてきます。
まだ、MooseX::POEは全然触ってないのですが、ぱっと見た感じでは先ほどのやつをMoose化するのは、さほど難しいところはなさそうです。MooseX::POEのコードが読み終わったら移植してみます。