2011-12-13 69 views
0

我想在我的flex應用程序中使用歐芹框架。郵件系統是我看到在使用香菜最好的功能之一,Parsley框架消息傳遞系統如何工作?

但我有一個疑問,

是否在你的應用程序中使用香菜框架意味着,

  1. 更換每addEventListener()功能與荷蘭芹Messaging System
  2. 無法使用new newObject();創建任何對象。應該使用依賴注入,而不是創建顯式對象?

以上疑惑是否屬實?

+1

我改變了主題行,因爲「Flex框架」不是非常具有描述性。 – JeffryHouser

回答

0

不可以。使用歐芹並不意味着您必須/應該使用歐芹的信息來替換您的所有事件監聽器。

歐芹的整個想法就是解耦,換句話說,就是讓應用程序的某些部分與應用程序的其他部分無關。

您可以使用Flex消息傳遞進行分離,因爲Flex事件可以轉換。 但是: 1)的Flex事件轉向架橫向通過顯示列表,這並不總是你想要什麼 2)的Flex事件依賴於字符串,它可以是一個痛苦,如果你重構,或使錯別字

因此,答案既你的問題是: 如果你想讓荷蘭芹管理這些對象,只能使用歐芹事件和歐芹對象。情況並非總是如此。

解耦可以很好,但它可能是一件苦差事。不像以前的答案。對於單元測試來說,解耦是偉大的。它實際上使得它更容易,因爲從理論上講,一切都是一個單位本身,而不是與其他單位聯繫在一起。僅僅因爲歐芹能夠爲你注入它們,並不意味着它必須爲單元測試做好準備。

實際上,Flex是圍繞注入而建立的。自動注射和注射有區別。當你將一個數據提供者分配給一個List時,你正在注入,這只是你正在手動執行而已。歐芹只是提供一種自動管理注射的方法。

但是,是的,有時您可能會想知道爲什麼某些東西沒有被注入,但找出原因並不困難。

我寫了一系列的帖子來幫助人們去歐芹,檢查它 http://artinflex.blogspot.com/2010/09/quick-dive-into-parsley-intro-why.html 它可能是有用的。

1

我在我無法選擇使用工具的地方工作,而歐芹是我不會選擇的工具之一,如果我有選擇的話。如果你考慮能夠調試和測試你的項目,封裝,模塊化設計等 - 避免使用「微架構框架」,不惜一切代價:)

歐芹,類似SWIZ,馬特,更少Cairngorm和其他人,其中我沒有深入的知識,依賴於元數據。這增加了很多間接性。這意味着你不能影響或甚至調試不僅在「引擎蓋下」而且在你自己的代碼中發生的事情。你不知道什麼時候和爲什麼這個函數會被調用,但最重要的是,爲什麼它不會被調用。 「依賴注入」意味着你將無法在「注入」組件上運行單元測試 - 因爲通過「注入」它們,可以爲項目中的每件事物創建一個依賴項。在這一天結束的時候,你會編寫更多的代碼來爲框架服務,你花更多的時間來調試和解決框架的怪癖,應用程序會獲得很多的權重,並且運行得慢得多,/o框架。過了一段時間你使用了框架,代碼變成了一個巨大的不可理解的混亂,不可能分裂成更小的部分來更新/替換它們。

所以,如果它不明顯:)不要使用注射,但請使用addEventListener()