原型模式概述 用原型執行個體指定建立對象的種類,並且通過拷貝這些原型建立新的對象。適用性 1.當一個系統應該獨立於它的產品建立、構成和表示時。 2.當要執行個體化的類是在運行時刻指定時,例如,通過動態裝載。 3.為了避免建立一個與產品類層次平行的工廠類層次時。 4.當一個類的執行個體只能有幾個不同狀態組合中的一種時。 建立相應數目的原型並複製它們可能比每次用合適的狀態手工執行個體化該類更方便一些。參與者 1. Prototype
XML全稱EXtensible Markup Language,翻譯為可擴充置標語言,可延伸標記語言 (XML)或可延伸標示語言,是一種置標語言。置標指電腦所能理解的資訊符號,通過此種標記,電腦之間可以處理包含各種資訊的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用象XML這樣由相關人士自由決定的標記語言,這就是語言的可擴充性。XML是從標準通用置標語言(SGML)中簡化修改出來的。它主要用到的有XML、XSL、XBRL和XPath等。
最近我的羅技滑鼠剛過保就壞了,很是鬱悶。而我的師傅不久前正好買了個很牛的羅技滑鼠M905,那時他給我展示了這滑鼠能在玻璃上使用,讓我驚訝不已。功能雖強,但價格也嚇死人。由於這些原因我對滑鼠產生了興趣,特別是羅技09的最新技術“無界”和“優聯”。擁有“優聯”技術的獨門密技的羅技,只需一個Nano接收器,就能輕鬆玩轉家裡、辦公室和旅途中的6個無線裝置,雖然很牛,但還是能想明白其中的原理。而“無界”讓我感到很神奇,以前光學滑鼠一碰到玻璃表面就傻眼了,現在竟然還可以在透明玻璃或碟片上。於是研究了下其原理
適配器模式概述 將一個類的介面轉換成客戶希望的另外一個介面。Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。適用性 1.你想使用一個已經存在的類,而它的介面不符合你的需求。 2.你想建立一個可以複用的類,該類可以與其他不相關的類或不可預見的類(即那些介面 可能不一定相容的類)協同工作。 3.(僅適用於對象Adapter)你想使用一些已經存在的子類,但是不可能對每一個都進行
面試常考的EJB知識EJB 與 JAVA BEAN 的區別? 答: Java Bean 是可複用的組件,對 Java Bean 並沒有嚴格的規範,理論上講,任何一個 Java 類都可以是一個 Bean 。但通常情況下,由於 Java Bean 是被容器所建立(如 Tomcat) 的,所以 Java Bean 應具有一個無參的構造器,另外,通常 Java Bean 還要實現 Serializable 介面用於實現 Bean 的持久性。 Java Bean 是不能被跨進程訪問的。
橋接模式概述 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。適用性 1.你不希望在抽象和它的實現部分之間有一個固定的綁定關係。 例如這種情況可能是因為,在程式運行時刻實現部分應可以被選擇或者切換。 2.類的抽象以及它的實現都應該可以通過產生子類的方法加以擴充。 這時Bridge模式使你可以對不同的抽象介面和實現部分進行組合,並分別對它們進行擴充。 3.對一個抽象的實現部分的修改應對客戶不產生影響,即客戶的代碼不必重新編譯。
最近由於公司走了一個負責資料庫方面的人,一些有關資料庫的任務沒人做了,leader就找到了我。這次的任務是負責新版本的資料庫升級指令碼,痛點是我對資料表結構不是很熟悉,而且新版本的功能也不是有我來負責的,還有就是資料表結構變化比較大,要保證使用者原本資料不能丟失。200多張表裡面還是有資料的,如果人工做的話不死人才怪。於是尋找工具,先從自己熟悉的powerdesigner開始,先用反向工程分別產生新老兩個資料庫的模型,然後點擊 菜單中database->modify
組合模式概述 將對象組合成樹形結構以表示"部分-整體"的階層。"Composite使得使用者對單個對象和組合對象的使用具有一致性。"適用性 1.你想表示對象的部分-整體階層。 2.你希望使用者忽略組合對象與單個對象的不同,使用者將統一地使用組合結構中的所有對象。參與者 1.Component 為組合中的對象聲明介面。 在適當的情況下,實現所有類共有介面的預設行為。 聲明一個介面用於訪問和管理Component的子組件。
所有Java開發人員都知道JAR檔案只是包含Java類樹的壓縮(ZIP)檔案。但是,不是人人(包括一些經驗豐富的開發人員)瞭解這種檔案格式的其它優點。在本文中,我將簡單介紹JAR檔案格式,並說明利用它可以實現的各種可能性。JAR檔案簡介JAR檔案以流行的二進位ZIP檔案格式為基礎,用以把許多檔案合并成一個檔案。它還包含一個名為META-INF的可選目錄,這個目錄位於檔案根目錄下。有兩種方法可以建立JAR檔案:應用程式命令行工具jar,或使用Java中的java.util.jar
Flex軟體中經常需要使用一些外部的資源,片、聲音、SWF或字型,第一種你也可以在軟體啟動並執行時候引入和載入,第二種可能經常需要直接將這些資源編譯(Compile)到軟體中,也就是直接嵌入資源(Embedding
責任鏈模式概述 使多個對象都有機會處理請求,從而避免請求的寄件者和接收者之間的耦合關係。將這些對象連成一條鏈, 並沿著這條鏈傳遞該請求,直到有一個對象處理它為止。 這一模式的想法是,給多個對象處理一個請求的機會,從而解耦寄件者和接受者.適用性 1.有多個的對象可以處理一個請求,哪個對象處理該請求運行時刻自動確定。 2.你想在不明確指定接收者的情況下,向多個對象中的一個提交一個請求。 3.可處理一個請求的對象集合應被動態指定。參與者
很多時候大家已經用殺毒軟體查出了自己的機子中了例如Rootkit.Vanti.zg、Trojan.Win32.SendIP.15等等這些一串英文還帶數位病毒名,這時有些人就懵了,那麼長一串的名字,我怎麼知道是什麼病毒啊? 其實只要我們掌握一些病毒的命名規則,我們就能通過殺毒軟體的報告中出現的病毒名來判斷該病毒的一些公有的特性了。 世界上那麼多的病毒,反病毒公司為了方便管理,他們會按照病毒的特性,將病毒進行分類命名。雖然每個反病毒公司的命名規則都不太一樣,但大體都是採用一個統一的命名方法來
Factory 方法概述 定義一個用於建立對象的介面,讓子類決定執行個體化哪一個類。FactoryMethod使一個類的執行個體化延遲到其子類。適用性 1.當一個類不知道它所必須建立的對象的類的時候。 2.當一個類希望由它的子類來指定它所建立的對象的時候。 3.當類將建立對象的職責委託給多個協助子類中的某一個,並且你希望將哪一個協助子類是代理者這一資訊局部化的時候。參與者 1.Product 定義Factory 方法所建立的對象的介面。
代理模式概述 為其他對象提供一種代理以控制對這個對象的訪問。適用性 1.遠程代理(RemoteProxy)為一個對象在不同的地址空間提供局部代表。 2.虛代理(VirtualProxy)根據需要建立開銷很大的對象。 3.保護代理(ProtectionProxy)控制對原始對象的訪問。 4.智能指引(SmartReference)取代了簡單的指標,它在訪問對象時執行一些附加操作。參與者 1.Proxy
在Flex運用中經常提到的有關DataGrid問題是如何改變DataGrid儲存格(cell),列(column)和行(row)的背景顏色(backgroundcolor)這裡對這3種顏色做一個總結。 1. 設定行(row)的背景色主要是通過對DataGrid擴充,對protected函數drawRowBackground()進行重寫,具體代碼如下:override protected function drawRowBackground(s:Sprite, rowIndex:int, y:
單態模式概述 保證一個類僅有一個執行個體,並提供一個訪問它的全域訪問點。適用性 1.當類只能有一個執行個體而且客戶可以從一個眾所周知的訪問點訪問它時。 2.當這個唯一執行個體應該是通過子類化可擴充的,並且客戶應該無需更改代碼就能使用一個擴充的執行個體時。參與者 Singleton 定義一個Instance操作,允許客戶訪問它的唯一執行個體。Instance是一個類操作。 可能負責建立它自己的唯一執行個體。ExampleSingleton public
面板模式概述 為子系統中的一組介面提供一個一致的介面,Facade模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。適用性 1.當你要為一個複雜子系統提供一個簡單介面時。子系統往往因為不斷演化而變得越來越 複雜。大多數模式使用時都會產生更多更小的類。這使得子系統更具可重用性,也更容 易對子系統進行定製,但這也給那些不需要定製子系統的使用者帶來一些使用上的困難。 Facade可以提供一個簡單的預設視圖,這一視圖對大多數使用者來說已經足夠,
最近對校內和開心網就行了研究,感覺真是一種非常好的創意怪不得國外的facebook那麼紅火。但其實上這類社交網站很浪費時間,好處是能交到很多朋友。 定義 SNS:Social Network
大家在做flex應用時有沒有碰到移動捲軸時,頁面控制項顯示重新整理遲鈍,導致頁面都是控制項的殘影,多了就像花屏,特別是用一些複雜的布局。這個問題困擾了我快半個月,一直沒找到問題的根源。今天無意中發現,其實這問題出在我們flex 應用的wrapper template上了<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"id="main" width="100%" height="100%"codebase="http:/
建造者模式概述 將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。適用性 1.當建立複雜物件的演算法應該獨立於該對象的組成部分以及它們的裝配方式時。 2.當構造過程必須允許被構造的對象有不同的表示時。參與者 1.Builder 為建立一個Product對象的各個組件指定抽象介面。 2.ConcreteBuilder 實現Builder的介面以構造和裝配該產品的各個組件。 定義並明確它所建立的表示。