2011-01-26 35 views
0

在我的網站的開始頁面我有一個搜索掩碼,其中用戶設置選擇不同的搜索條件。當用戶不知道時,將爲搜索參數設置默認值。參數整個網站的管理!

通過點擊搜索buttom用戶來預覽頁面,其中用戶有可能提煉他的搜索參數agaian。並且可以有許多不同類型的預覽頁面。例如,如果用戶在 汽車類別中搜索,則預覽頁面爲其他,並且搜索蒙版將作爲在摩托車類別中搜索到的其他搜索蒙版。

但是,詳細頁面對於所有類型的產品都是單一的。

現在我想編寫一個組件,可以保存起始頁的搜索選項以及所有不同類型的概述頁。

而且我還想跟蹤從哪個預覽頁面登錄到詳細信息頁面以及何時用戶從詳細信息頁面返回到預覽頁面的信息我將加載用戶已完善的值所需的掩碼。

解決此問題的最佳做法是什麼?有沒有可用於此類問題的設計模式?

非常感謝。

回答

1

通常,對於您所描述的特定問題,沒有設計模式。根據您想要建模的方式,您可以實施諸如Strategy,State和/或Command的模式。其中每一個都提供了一些封裝狀態的工具(例如,預覽和標準的類型)以及一些相關的行爲。

  1. 會議
  2. 餅乾
  3. 客戶

Session scope

這是服務器內存鏈接到:

三種使用不同的ColdFusion變量的作用域跟蹤的搜索條件選項通過一個開發人員可以放置的cookie給予用戶i變成。它被設計爲在一段時間不活動後過期,並且ColdFusion通過Application.cfc提供圍繞其初始化和到期的事件處理。如果您決定將有狀態的對象附加到每個用戶,則很有用。缺點是如果存在大量信息和/或使用長時間的會話,則可能導致內存不足。

Cookie

設置客戶端Cookie。可以輕鬆捕捉簡單的數據。無法捕獲對象 - 您需要序列化和反序列化它們的狀態。可以很好地擴展,因爲服務器只跟蹤一個cookie。容易被黑客入侵。

Client

讀和寫與持久用戶會話相關聯的數據。 默認情況下,這是Windows上的註冊表 - 不要使用它,因爲如果註冊表損壞,它可能會導致服務器崩潰並帶來可怕的後果。而是訪問管理員並將其設置爲使用數據庫。當您想要追蹤用戶在網站上移動時的大量信息時很有用,但只能在支持數據庫的情況下進行擴展。需要像cookie範圍一樣序列化數據。