2009-09-03 62 views
2

我剛剛瞭解了有關在Flex(v3.0)中查看狀態的信息,但我不確定在實際應用程序中它有多廣泛。使用它是一個好習慣嗎?例如,是否存在可維護性等缺陷?在實際項目中使用的Flex視圖狀態

+0

Flex 4的狀態完全改變了遊戲(以非常好的方式)。以前它們有點麻煩,但新的組件架構使它們變得至關重要。 – 2009-09-04 02:42:57

回答

1

我開始在各個地方的應用程序(企業級應用程序)中使用狀態,並將其全部重構。我的大多數MXML已被純粹的AS3組件取代,我對綁定和flex組件生命週期持懷疑態度。在Flex框架中宣傳的很多便利技巧,一旦真正開始使用它們,就會感到麻煩和緩慢。

就像任何事情一樣,你自己的里程會有所不同。如果你能避免「一切都是釘子」綜合徵,它們可能會有用。也許我不能。

+0

謝謝格倫。是的,在我學習Flex的過程中,我意識到Adobe提供了許多「簡單的技巧」,如果在更復雜的項目中使用它可能會在以後造成麻煩。能夠看到真實世界應用程序的來源和結構將非常有幫助,因爲在這個階段很難理解哪些是有用的,哪些不是。 – Zoman 2009-09-03 09:58:16

+0

Flex源代碼大多是開放的。瀏覽他們的組件,看看他們做什麼來創建它們。這就像你會得到的現實世界一樣。你只是在做這些變化。並且注意到他們很少使用MXML編寫他們自己的組件。我不記得曾經見過哪些州也使用過。話雖如此,我也不會去模仿他們的編碼實踐。像任何真實世界的應用程序一樣,存在大量的黑客和垃圾。 – Glenn 2009-09-03 10:12:23

2

我還在企業級應用程序中使用了狀態。但非常輕微。

在某些情況下,狀態可以清理代碼非常有用。有一個表現不好的地方,如果一個國家增加了一個孩子,那麼在你回到那個狀態並且添加一個新孩子之前,這個孩子不會被從列表中移除。

如果您需要啓用/禁用使可見/不可見的一堆組件來回(取決於狀態),我認爲狀態可能很有用。這是Flex中狀態的理想用例。

+0

感謝Ammar,非常有用的信息。 – Zoman 2009-09-04 20:07:47

2

我已經大量使用狀態,並發現他們是一個更優雅的解決方案,大量的條件代碼。事實上,由於上​​面提到的一些原因,我最初回避了這些問題,但是在應用程序變得非常複雜後,有了多個變體「狀態」,我意識到我正在與框架打架。

坦率地說,我會對綁定進行相同的觀察。如果你不明白一些微妙之處,他們可以是你的消遣,這是真的。然而,編寫自己的代碼來實現同樣的事情似乎是重複工作。查看一下生成的代碼,並閱讀一些良好的深入瞭解綁定。