2011-04-14 47 views
1

我想創建我的第一個真實世界的應用程序。它是一個由Flash Builder 4驅動(通過Web服務)應用程序的數據庫。Flash Builder中的多頁數據庫應用程序 - 如何訪問/調用不同的屏幕?

該應用程序將擁有超過30多個不同的數據輸入表單屏幕,列表屏幕,搜索屏幕等,它們都使用不同的Web服務。

顯然我想分解它,以便隨着應用程序的增長而變得易於管理,並且使應用程序儘可能快(如果需要加載所有元素,初始加載速度可能會很慢,但我希望它一旦用戶「進入」應用程序,就要快)。

我到現在爲止的方法是讓我的主應用程序(稱爲佈局),然後有一個ViewStack與每個不同的屏幕上。這個效果很好,但是這意味着每次添加一個新的屏幕時都會保留一小段代碼(有關此處的信息,請參閱:Swap MXML Component in Application from another Component - Possible?

每組表單都是相關的,所以「客戶機」區域的申請有一個數據錄入表格,幾個表格。加載時我需要傳遞參數。即。 「加載ID爲123的數據輸入表單」。

此刻我有一個組件爲每個窗體,即。 ClientForm和ClientList。這是一個好方法嗎?我應該使用模塊嗎?

ViewStack是一種有效的方法嗎?

回答

3

如果我開發這樣的應用程序,我會拒絕視圖堆棧並接受狀態。從Flex 2/3開始,它們變得更好了。與視圖堆棧相比,狀態的主要優點是您沒有爲子容器創建一些額外的容器/持有者。另一個優點是可以使用字符串標識符切換狀態,您可以輕鬆地將事件與事件一起傳遞,而無需在字符串標識符和視圖之間使用某種映射。只需使用與州名相同的字符串即可。所以它會鬆散耦合並且非常模塊化。

另一個建議是儘可能將您的應用程序分解成小的獨立組件/類。嘗試將所有對服務器的調用隔離成單獨的操作/命令。如果你喜歡它,你可以使用一些架構框架(如Mate,Parsley或其他東西;只是避免Cairngorm或PureMVC)。

預成型分析您的屏幕和呼叫。有沒有數量有限的屏幕和電話?未來可能需要添加嗎?他們多久會被添加?如果屏幕數量有限,以後幾乎不可能添加一個/兩個屏幕,則可以將所有狀態置於一個MXML組件中,使用事件模型將視圖本身提取爲單獨的組件,以通過自定義事件從它們獲取反饋。如果存在相當多的視圖,則可以形成一些視圖層次結構,將狀態分組在單獨的子組件上以具有可讀(和可維護)的代碼。

另一種策略是使用模塊,如果有非常多的表單/視圖,並且可以定期添加它們。在這種情況下,您應該提供一些配置文件(我建議XML文件)和模塊描述。主應用程序加載該配置,然後決定如何加載和顯示模塊以及偵聽和響應哪些事件。

我希望上面列舉的方向可以是計劃您的應用程序的好起點。祝你好運!

+0

你好,很棒的迴應。各國看起來絕對是這條路。再次感謝你的幫助! :) – danbiscuit 2011-04-14 11:29:35

+0

不客氣! – Constantiner 2011-04-14 11:32:53

相關問題