跳轉到內容

Moose 程式設計/前言

來自華夏公益教科書

一本書的首要目標應該是說服讀者在頭五分鐘內值得閱讀。讀完這篇前言不應該花你五分鐘。

我應該讀這個嗎?

[編輯 | 編輯原始碼]

這本書是免費的,而且是免費的,我可以隨意告訴人們如何節省時間:如果以下情況適用於你,請不要浪費時間,離開吧

  • 你不使用 OOP 正規化,而且你不關心你錯過了什麼。
  • 你不會考慮讓你的 perl 程式依賴於 CORE 發行版中不存在的模組。
  • 你認為所有看起來像 perl 外部的語法都很糟糕。[1]
  • 你是那種在完成之前進行基準測試的程式設計師,或者你不會妥協執行速度。
  • 你不喜歡徹底的改變。

告訴我你在用什麼

[編輯 | 編輯原始碼]

讓我從問題開始:perl5 很老,而且很陳舊。

Perl5 的 OOP 正規化迫切需要一個整容。它不僅缺乏其他程式語言的功能,而且它所擁有的功能也不好。Moose 會刮掉這些陳舊的東西,並將這些不足抽象化。所有 hail the shiny newer Moose-powered perl。

Moose 是一個笨拙的寶石,告訴你它是什麼,更像是一種枯燥的學究式練習——我們將在稍後討論。Moose 做了很多事情,它有雄心勃勃的目標,但除了它想完成的事情之外,你會發現它提供了以下內容

  1. 它將消除對各種模組的需求,這些模組有助於彌補上述老舊問題。
  2. 它將使程式設計更有趣,更不乏味。為了進一步幫助炒作催化劑,它將使有趣更有趣,使乏味更有趣,使乏味的存在更少,而且...或者其他什麼...
  3. 它將提供一個通用的框架,你可以用它快速構建原型,並將現實世界的問題融合在一起。
  4. 它將讓你在現實世界中練習另一個新興的正規化:AOP

準備好放棄你所有的舊的 perl-OOP 慣例。Moose 與它們不相容:它單槍匹馬地取代了它們!不再需要Class::Accessor,也不再需要在你的應用程式中使用ref()編寫手動檢查。使用 Conway 的詛咒NEXT的日子一去不復返了,或者為了完成工作而違反黑盒規則。令牌、模型和事件是所有你應該考慮的事情。Moose 將以一種完全非個人化的、預先設想的、當然也是完全客觀的方式為你考慮剩下的事情。

還有一件事,這本書透過比較“(舊的)perl 方式”和“(新的)Moose 方式”來教授 Moose。如果這個類比讓你感到困擾,你可以在 CPAN 上找到不有趣的 Moose 文件。

此外,本書還包含一套語法文件,這些文件肯定更中立。

  1. ^ Moose 不是一個原始碼過濾器。語法看起來像原生 perl 以外的原因是,在 Perl 示例中任何地方都沒有采用bareword=>()這種習慣用法。Moose 沒有原始碼過濾器的那種巫術。
華夏公益教科書