亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在Java編程中的“模式思想”與框架關系

2019-11-17 04:59:16
字體:
來源:轉載
供稿:網友
目前在開發領域中各種框架越來越多;模式使用機會性似乎減少了,那么是不是意味著我們就不必掌握模式了呢?其實,學習模式實際為了培養模式思維,模式思維有助于了解和使用框架。

例如如何我們在使用表現層哪個框架,都是MVC模式實現,那么進行編程步驟時,我們腦海里就浮現一個步驟V/C/M以及C和V的轉發關系,進而感覺struts-config.xml配置就不是多余或復雜,而是必須的。

現在有人覺得好像java世界框架特別多,異常復雜,其實這可能是他從封閉世界走向開放自由世界產生的錯覺,當你具備模式思維時,實際你就具備了挑選各種各樣框架的能力,打個比喻:以選擇轎車為例子,過去,只有一種“紅旗”轎車供選擇,你就只有接受這個轎車;但是現在轎車多了,選擇多了,你就必須了解轎車的通用概念,進而你就可以在各種轎車之間選擇和衡量,了解轎車的通用概念這個過程就如同我們學習模式,具備通用編程的模式思維,有了模式思維,就會發現有這么多選擇產品,不再嫌復雜,而是變得興奮了;所以,沒有復雜的東西,只有是否原意學習的頭腦;PC電腦對于一些人很復雜,可是對于我們會復雜嗎?不會,因為我們已經掌握通用電腦的模型、模式。

所以,有人覺得Java軟件很多配置復雜,甚至產生配置恐懼癥,那是因為他沒有模式思維,在模式思維指導下的編程工作,就象在寫一篇生動的小說一樣,你腦海展現的生動模式實現步驟,而無論代碼或配置都是實現你模式思維的文字工具,模式思維考慮到哪里,就想起什么配置,配置對具備模式思維的你來說是很自然的表達。

在模式思維下的Java編程,編碼階段code completion可能花費2/3時間,但是調試測試時間只需要1/3甚至不到,大多數情況下是一步到位的調試成功;這比以前1/3編程時間,2/3調試時間要高效多,關鍵是:你無論花費多少時間在調試上,實際上是在做一個修修補補的工作,是在做維修工,頭疼醫頭,永遠是機修工,無法成為設計師。

下面從模式思維角度談談幾個認識誤區,僅僅參考討論:

游戲軟件比企業軟件復雜?

為什么說企業軟件時復雜的?因為企業軟件是為應付需求而變,與游戲軟件等軟件相比,雖然一個游戲軟件在代碼數量級別上比企業軟件復雜,但是游戲軟件不必考慮跟隨游戲用戶需求變化,是游戲用戶服務游戲設計規則;但是企業軟件和其用戶則相反,企業軟件必須服從用戶的變化,打個不是很確切的比喻:企業軟件則類似市場經濟中的市場人員,需要“看客戶臉色”行事。而游戲軟件則相反,類似以前朝南坐的政府人員;

因此,企業軟件在動態概念上是隨時間變化而變化,是由生命的,因為計劃趕不上變化,所以企業軟件制作時總是使用模式為將來變化預留余地,這種面向未來變化考慮方式無疑是最復雜的思維,就象股票變化將這種未來變化的殘酷推向極致,我們都想計劃未來,但是總是計劃不了未來,這就是企業軟件的復雜所在。

Class.forName神秘嗎?

有人覺得Class.forName很神秘,神秘不在于本身,就是打開其編碼研究到二進制也不能達到目的,它的神秘之處是因為應用在一個恰當之處,就象一塊普通布沒什么,但是如果從后面變出花了,你覺得這塊布神奇了,Class.forName神奇之處在于其隱藏了對象創建,也一種是工廠模式實現。

同樣,對于Collection,本來就是那幾個種類List和Map,但是發現使用起來神奇得很,有人甚至研究過Collection的二進制,這和研究魔術師中一塊普通布沒有什么區別。Collection用于容器,作為對象集合;以及和單例結合實現緩存等,可以實現多種模式。

僅會算法就做企業軟件嗎?

在實踐中,通常表示一個樹形關系通過編碼實現,例如1122334455表示是代號為11類別下代號為22類別下的代號為33類別下的....然后,在軟件各處通過分析這個類別編碼獲得樹形關系,這種將將具體數據和業務耦合在一起做法是受到抨擊的。

那么如果我們要對樹形關系的數據進行訪問如何實現呢?首先我們將樹形關系的訪問分為兩個部分:樹形關系+功能實現。我們已經知曉樹形結構的遍歷,但是僅僅知道樹形結構遍歷還是不夠的,我們還需要模式來解決樹形關系訪問這個通用問題,使用Composite模式可以方便客戶端對樹形結構訪問,使得客戶端不至于因為樹形結構變化而變化不定;而訪問者模式則不會總可能新增的新訪問功能,導致樹形結構中對象代碼變化不定。

這兩種模式協同發力,可以綜合解決樹形結構中對象群的訪問。

GoF模式打開的新境界

沒有知曉GoF模式之前,我們總是以為編碼就是寫一些代碼,然后運行,復雜嗎?如果我們來分析一下GoF模式三個類型,你會發現平時熟視無睹的代碼中隱藏如此多考慮方面。

GOF模式三種類型:結構型模式、創建型模式和行為型模式其實函括了OO編碼的三個方面:靜態類關系、類創建成為運行時對象實例;運行時的對象運行行為,也就是說,我們在編碼階段不但考慮現階段各個類之間靜態解耦關系,而且還要考慮這些代碼激活后,運行時的情況。

而以往過程化編程中,編碼狀況=運行狀況,如何先后編碼,這些編碼運行時就按照這些先后編碼順序執行,兩者是統一的,不可能出現運行時可能和編碼時預想不一樣,更何況需要我們還要在進行類編碼時,考慮這些類運行時是如何實現的,有如何對這些類運行時的關系進行解耦和分離呢?所以,我們“天生”就無法理解設計模式,因為我們從來就認為軟件就是實現功能,哪里還會考慮到實現同樣功能會涉及各種考量了呢?

如果說設計模式是程序員的圣經,那么不掌握設計模式可能就是異教徒,從此教徒和異教徒兩者之間就缺乏溝通對話平臺,就象雞對鴨講話了。

非模式思維的懲罰

面向對象軟件體系是和面向過程體系格格不入的,面向對象的各種技術如單元測試 性能緩存等等都是OO體系,如果我們沒有具備模式思維來編程,由此而誕生的軟件架構必然失敗,失敗在哪里?通過性能懲罰你。最近碰到一個臺灣的鋼鐵架構,它雖然包含一個簡單的MVC框架,但是其Controller實際又是Service,該框架配置將下面幾個元素耦合在一起:頁面流程;控制類;Dao與VO,這實際是將表現層和持久層直接結合一起,這樣的框架迫使程序員沒有空間做中間領域模型層和服務層,進而整個體系變成一個兩層耦合結構,這和傳統的C/S沒有區別,在Java中使用傳統概念編程:如面向過程、面向數據表以及兩層耦合導致結果是性能緩慢,很多大型項目就是這樣最后是毀在性能上,服務器需要經常啟動,一旦并發用戶就很慢,服務器經常死機。

有人可能奇怪:非模式思維屬于設計問題,怎么會對性能影響,這是將設計和性能對立起來,性能也是一種設計,池模式以及緩存也是屬于模式啊,但是緩存的高效率應用是建立良好的對象設計基礎上,或者說是良好的領域建模上,否則就是使用緩存,也會導致粒度或動態機制不準確,無法發揮緩存效率,甚至無法使用緩存。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产成人av| 久久精品美女视频网站| 欧美一级高清免费播放| 免费91麻豆精品国产自产在线观看| 久久久国产在线视频| 91精品国产成人www| 国产精品成人va在线观看| 黑人巨大精品欧美一区二区一视频| 亚洲国产精品va在线看黑人| 日韩av123| 在线观看91久久久久久| 亚洲色图狂野欧美| 国产日韩精品在线观看| 国产综合在线视频| 久久久精品免费视频| 久久久久久这里只有精品| 欧美成人午夜影院| 国产综合在线观看视频| 欧美精品videosex极品1| 欧美国产日韩中文字幕在线| 红桃av永久久久| 久久黄色av网站| 中文字幕九色91在线| 亚洲天堂免费观看| 日本不卡免费高清视频| 国产精品一区av| 欧美黑人国产人伦爽爽爽| 亚洲激情视频在线观看| 久久久久久久999精品视频| 日韩av电影在线播放| 亚洲色图15p| 欧美性开放视频| 成人精品久久久| 日本一区二区在线免费播放| 国产成人精品久久| 欧美精品久久久久久久免费观看| 欧美日本在线视频中文字字幕| 国产精品久久久久久一区二区| 国产日韩中文字幕在线| 少妇激情综合网| 日韩欧美国产骚| 精品人伦一区二区三区蜜桃免费| 亚洲精品理论电影| 91香蕉亚洲精品| 欧美www视频在线观看| 亚洲国产日韩欧美综合久久| 亚洲自拍偷拍色片视频| 中文字幕国产精品久久| 欧美日韩在线视频观看| 日韩高清有码在线| 欧美在线国产精品| 欧美裸身视频免费观看| 久久理论片午夜琪琪电影网| 色偷偷噜噜噜亚洲男人| 中文国产成人精品| 92福利视频午夜1000合集在线观看| 欧美性生交xxxxxdddd| 日韩免费精品视频| 国产精品中文字幕在线观看| 国产精品丝袜久久久久久高清| 国产精品福利久久久| 亚洲成人久久久| 欧美高清在线视频观看不卡| 日韩电影免费观看在线| 精品亚洲男同gayvideo网站| 一本一本久久a久久精品综合小说| 国产亚洲福利一区| 亚洲精品中文字幕有码专区| 国产精品美女视频网站| www国产亚洲精品久久网站| 欧美插天视频在线播放| 亚洲黄色免费三级| 日韩福利伦理影院免费| 日韩av影院在线观看| 亚洲欧美成人网| 日韩欧美国产中文字幕| 国产精品免费久久久久影院| 九九热这里只有在线精品视| 九九久久久久久久久激情| 日韩经典中文字幕在线观看| 国产成人黄色av| 日韩电影中文字幕在线观看| 播播国产欧美激情| 久久精品国产69国产精品亚洲| 日韩在线观看电影| 热久久美女精品天天吊色| 性欧美亚洲xxxx乳在线观看| 日韩精品日韩在线观看| 欧美精品www在线观看| 成人激情视频免费在线| www欧美日韩| 尤物yw午夜国产精品视频| 亚洲福利在线看| 91探花福利精品国产自产在线| 九九热视频这里只有精品| 国产激情综合五月久久| 日日骚久久av| 亚洲一级一级97网| 久久久91精品| 国产亚洲精品久久久优势| 久久久国产精品视频| 欧美激情欧美激情在线五月| 91久久久久久国产精品| 亚洲人成在线观看| 亚洲tv在线观看| 精品久久久av| 国产亚洲福利一区| 国产日韩欧美在线视频观看| 国产精品极品美女在线观看免费| 日本精品视频在线| 亚洲自拍高清视频网站| 亚洲精品在线不卡| 久久精品色欧美aⅴ一区二区| 欧美精品激情在线观看| 午夜免费日韩视频| 欧美一区二粉嫩精品国产一线天| 国产日本欧美一区二区三区| 国产一区二区在线免费| 国产乱肥老妇国产一区二| 中文欧美日本在线资源| 亚洲成人网在线| 精品久久久久久电影| 欧美日韩在线第一页| 国产精品视频资源| 亚洲欧洲日产国产网站| 国产精品久久久久久久一区探花| 91嫩草在线视频| 亚洲福利在线看| 国产精品69久久久久| 亚洲精品日韩欧美| 国产在线播放91| 欧美另类交人妖| 亚洲欧美国产精品专区久久| 狠狠操狠狠色综合网| 欧美华人在线视频| 国模精品视频一区二区三区| 欧美裸体xxxx极品少妇软件| 成人黄色大片在线免费观看| 在线日韩日本国产亚洲| 亚洲二区中文字幕| 91精品久久久久久久久久久久久久| 国产成人在线一区二区| 欧美激情在线播放| 91沈先生在线观看| 亚洲国产成人爱av在线播放| 国产不卡精品视男人的天堂| 亚洲网站视频福利| 国产91精品不卡视频| 久久午夜a级毛片| 亚洲国产成人在线视频| 成人精品在线观看| 亚洲最大的免费| 国产精品扒开腿做爽爽爽视频| 91国语精品自产拍在线观看性色| 国产日韩欧美在线看| 久久成人在线视频| 日本aⅴ大伊香蕉精品视频| 国产精品美女免费看| 国产精品∨欧美精品v日韩精品| 亚洲国语精品自产拍在线观看| 2019亚洲男人天堂| 秋霞成人午夜鲁丝一区二区三区| 亚洲成人国产精品| 国产精品久久久久久一区二区|