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のコードも少し書いてみようかなぁなどと思えてきます。

id:mikihoshi++

まだ、MooseX::POEは全然触ってないのですが、ぱっと見た感じでは先ほどのやつをMoose化するのは、さほど難しいところはなさそうです。MooseX::POEのコードが読み終わったら移植してみます。