Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> 對於Android導航說明介紹

對於Android導航說明介紹

編輯:高級開發

當然android導航對ahuaxuan這類剛剛跨出Java世界的人來說有些不爽的地方,因為基於進程的東東共享數據比較麻煩,比如寫一個ip查詢的組件,希望大家學習思考。

最復雜功能最強大的還是freemarker,支持JSP tag的嵌入讓我們可以重用很多已經存在的組件,這一點我在之前的文章中也有過比較詳細的描述(強強聯手,看freemarker和displaytag的結合)。由於了解,才有發言權,django的模板可以說是為互連網應用而誕生的,簡潔及快速開發的特點讓人情不自禁的喜歡。大多數模板語言的基本語法都是類似的。

比如在android導航中顯示值是${},而在django是{{}},freemarker中if判斷為<#if></#if>,而django中是:Django有兩種form。一種是自己定義form class,還有一種是通過我們定義的model自動form class。 由於ahuaxuan只做 了一個信息發布的小例子。

所以並不能全面的了解或者理解django中form的所有細節,不過從我涉及到的部分來講,我對django的從模型創建表單的做法確實感到有比較大的局限。因為很多時候,model中的數據 並不是從頁面上來的,在這種情況下,form對象被構造出來之後,ahuaxuan還沒有找到修改form中值的方法

而自定義form類也比較麻煩,就是要寫自己的model,這個和我們之前的做法比較不一樣,這裡的form代表我們Java中的value object,model是domain object,在我們的ssh框架中我們通常把value object繼承我們的domain object。

雖然一堆又一堆的人提出了反對意見,說要把這兩個對象分開,因為他們處在不同的層次中,但是從實踐經驗中,我們可以看到,這樣做沒有什麼不好。而在django中自定義form和model分開的行為可能比較符合一些人的心理。 不過自定義forms也有比較讓人稱道的地方,在form中我們可以自定義驗證規則,同時我們可以根據form對象直接生成頁面中的內容,不過這一點其實也有比較麻煩的地方。

就是如果要改變樣式的時候就比較麻煩。不過總的來說django的form還是比較有特點的,而且一定程度上給我們帶來了方便。 Django的url轉發是基於正則表達式的,有的人叫好,有的人叫差,我就是叫差的那一撥人之一。url轉發應該是一個非常清楚。

非常明亮的事情,可是用上這個正則表達式匹配的東西之後,我郁悶了,所以我只能回到遙遠的過去去繞過這個東東,我不用總可以了吧。 從目前目前掌握的知識來看,django的views裡的東西其實是controller,為什麼叫vIEws?不得而知,不過一直這麼沿用下來了。

即使是在自然界,很多表面上去不太一樣得東西,其實內部的原理是一樣的,我就覺得django的vIEws就是struts1.x中的action,為什麼這樣說呢,讓我們來看看兩段比較的代碼,第一段是django的,第二段是struts1.x。

在這部分開始之前我也想聊聊之前我們一直在講,而且將來還一直會講下去的一個話題――狀態。 之前我們一直在討論,把用戶的狀態保存在一個集中的地方,尤其是大規模集群部署的情況下。

同樣,對於android導航來說亦是如此,可以說這條金科玉律不只是針對某種針對某個語言,某個框架,它應該是更高層次的一種理念。那麼我們可以把狀態放到什麼地方呢,目前一些流行的選擇是DB(內存表,或實體表)。

android導航,或者cookie,但這幾種選擇並不是可以隨便互換的,比如業務數據較多的情況下,放在cookie中不是很合適,因為有可能超出cookIE大小的限制,那麼放在memcached中。

很遺憾,memcached(使用slab的情況下)中也有它自己的限制,如果狀態數據大小跨度較大,那麼丟數據的情況有可能發生,ahuaxuan很久之前在測試環境下就碰到過這種情況,由於線上memcached開得較大,所以沒有出現這種情況,關於這種事件發生得內部原因在ahuaxuan的另外一篇文章中已經有了非常詳細的描述。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved