Hatena::Groupangelos

Agile Web Development with Angelos

 | 

2009-01-20

AngelosでのObject System

14:36 | AngelosでのObject System - Agile Web Development with Angelos を含むブックマーク はてなブックマーク - AngelosでのObject System - Agile Web Development with Angelos

Angelosでは、モダンPerlオブジェクトシステムを実現するためにMouseを採用しています。


これは、MouseがMooseよりも軽量であるためです。

さらにdannさんがClass::Method::Modifiers::Fastなどを作って

高速化のためのパッチを送ったりもしています。


将来MooseがチューニングされればAngelosもMooseの採用に切り替わるかもしれませんが、

Mouseに関する部分はAngelos::Classでラップされているので

基本的に開発者はメタオブジェクトをゴリゴリいじらない限りは、

MouseかMooseかを気にする必要は無いようになっています。


コントローラクラスの例

package MyApp::Web::Controller::Book;
use Angelos::Class;
with 'Angelos::Controller';

sub index {
  ...
}

...

__END_OF_CLASS__;

use Mouse;

するかわりに

use Angelos::Class;

と書きます。

no Mouse;
__PACKAGE__->meta->make_immutable( inline_destructor => 1 ); 
1;

のかわりに

__END_OF_CLASS__;

と書けるようになっています。


Role

use Mouse::Role;

のかわりに

use Angelos::Plugin;

と書けます。



まとめ


コンポーネントを作るときはAngelos::Classを、

プラグインを作るときはAngelos::Pluginをuseしてください。

GythaGytha2011/10/13 15:07I really codlun't ask for more from this article.

scpstilgkllscpstilgkll2011/10/14 02:037H6Q13 <a href="http://ufmkjkkfhttb.com/">ufmkjkkfhttb</a>

badxkkvaxrbadxkkvaxr2011/10/14 18:29ZGU6dB , [url=http://ehoftivdabpt.com/]ehoftivdabpt[/url], [link=http://aaiegibiddse.com/]aaiegibiddse[/link], http://ladkpuwauhnw.com/

yikyflcbmyikyflcbm2011/10/17 01:261avtNS <a href="http://idlecaximebz.com/">idlecaximebz</a>

cohhmncohhmn2011/10/18 18:53vtaTyJ , [url=http://kiwlbqagaqvy.com/]kiwlbqagaqvy[/url], [link=http://fltutiywxata.com/]fltutiywxata[/link], http://pgujweujgxls.com/

JasonbiameJasonbiame2017/01/25 04:20визитки киев http://wkrolik.com.ua/products/firmennye-blanki

 |