Time of Update: 2018-12-03
概述想想我們編輯文檔用的wps,文檔裡文字很多都是重複的,我們不可能為每一個出現的漢字都建立獨立的空間,這樣代價太大,最好的辦法就是共用其中相同的部分,使得需要建立的對象降到最小,這個就是享元模式的核心,即運用共用技術有效地支援大量細粒度的對象。享元對象能做到共用的關鍵是區分內蘊狀態(Internal State)和外蘊狀態(External State)。內蘊狀態是儲存在享元對象內部並且不會隨環境改變而改變。因此內蘊狀態並可以共用。外蘊狀態是隨環境改變而改變的、不可以共用的狀態。享元對象的外蘊
Time of Update: 2018-12-03
概述作為C++工程師,免不了要管理記憶體,記憶體管理也是C++中的痛點,而智能指標採用引用計數的辦法很方便的幫我們管理了記憶體的使用,極大方便了我們的工作效率。而智能指標的這種用法其實就是代理模式的一種,他幫我們控制了該對象的記憶體使用量。代理模式就是為其他對象提供一種代理來控制對這個對象的訪問。種類和用途Proxy模式根據種類不同,效果也不盡相同:1、遠程(Remote)代理:為一個位於不同的地址空間的對象提供一個局域代表對象。這個不同的地址空間可以是在本機器中,也可是在另一台機器中。遠程代理
Time of Update: 2018-12-03
首先建立一個類庫,將它產生ClassLibrary1.dllusing System;using System.Collections.Generic;using System.Text;namespace WebTest{ public class ReflectTest { private string word; public String Word { get {
Time of Update: 2018-12-03
概述: 辛辛苦苦了工作了一年,終於可以加薪了,向主管提交了加薪申請,主管一看不得了,自己職權不夠,批不了,主管把申請上交總監,總監發現自己也批不了,申請到了總經理手中,總經理一看,小夥子口氣不小了,有膽識敢申請,先來談下心。預知後事如何,請看下回分解。 這就是典型的職責鏈模式,請求的處理形成了一條鏈,直到有一個對象處理請求。責任鏈模式是一種對象的行為模式。在責任鏈模式裡,很多個物件由每一個對象對其下家的引用而串連起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請
Time of Update: 2018-12-03
解決的問題: 在系統裡a,b,c三個組件必須同時使用,但是a的同類 a1和a2這三種方法有共同特點但是是互斥的,b,b1,b2和c,c1,c2和a/a1/a2是一樣的。就比如說建立在不同作業系統的視窗環境下都能夠啟動並執行系統時,Unix下面有unixButton和
Time of Update: 2018-12-03
概述: 我們最近在開發一個支援多種壓縮類型檔案的解壓縮且製作成pdf的一個應用。對我們的架構來說我們需要支援多種壓縮檔類型,但卻有固定的操作順序(先解壓縮,在讀取裡面的檔案分析、製作pdf)。我們抽取他們的共同點:這些操作的固定順序,把他放到我們的父類裡;他們的變化點:這些個具體的操作,去留給不同的子類去實現。這個就是模板方法模式,他定義一個操作中的演算法的骨架(例子中的固定的操作順序),而將一些步驟延遲到子類中(例子中的多種壓縮檔的解壓縮)。
Time of Update: 2018-12-03
一、下載PDFBox 訪問網址http://sourceforge.net/projects/pdfbox/ (這個絕對是個好網站)二、引用動態連結程式庫 解壓縮下載的PDFBox,找到其中的Bin目錄,需要在項目中添加引用的dll檔案有: IKVM.GNU.Classpath.dll PDFBox-0.7.3.dll FontBox-0.1.0-dev.dll IKVM.Runtime.dll將以上4個檔案引用到項目中,在檔案中需要引入以下2個命名空間:
Time of Update: 2018-12-03
概述:
Time of Update: 2018-12-03
解決的問題:我們PC用到的檔案系統,其實就是我們資料結構裡的樹形結構,我們處理樹中的每個節點時,其實不用考慮他是葉子節點還是根節點,因為他們的成員函數都是一樣的,這個就是組合模式的精髓。他模糊了簡單元素和複雜元素的概念,客戶程式可以向處理簡單元素一樣來處理複雜元素,從而使得客戶程式與複雜元素的內部結構解耦。將對象組合成樹形結構以表示“部分-整體”的階層。組合模式使得使用者對單個對象和組合對象的使用具有一致性。註明:樹形結構裡的葉子節點也有左右孩子,只不過他的孩子都是空。概述組合模式的實現根據所實
Time of Update: 2018-12-03
單例模式,顧名思義,就是只能由一個執行個體,那麼我們就必須保證該類不能被複製。該類不能被公開的創造。那麼對於C++來說,他的建構函式,拷貝建構函式和他的賦值函數都不能被公開調用。但對於該私人的建構函式的構造時機上來說也可以分兩種情況來構造: 只有當需要改類的時候去構造(即為懶漢模式) 在程式開始之前我就先構造好,你到時候直接用就可(即為餓漢模式)那麼我分別來說說這兩種模式:懶漢模式,靜態局部變數只會被初始化一次即第一次執行的時候,其生命週期與程式的生命週期是相同的。這個同樣適用於多線程的情況。c
Time of Update: 2018-12-03
概述: 在現在的電視機中,我們使用[後一個]和[前一個]按鈕可以很方便的換台,當按下[後一個]按鈕時,將切換到下一個預置的頻道。想象一下在陌生的城市中的旅店中看電視。當改變頻道時,重要的不是幾頻道,而是節目內容。如果對一個頻道的節目不感興趣,那麼可以換下一個頻道,而不需要知道它是幾頻道。
Time of Update: 2018-12-03
概述: 假設我們開發一個圖片處理軟體,裡面肯定包括很多相關功能,比如說剪下,旋轉,濾鏡,美化等等,而我們這些功能所要處理的對象是固定的,就是我們所顯示的那張圖片。但是我們不能把所有的功能羅列到一個tab上,雖然這樣處理方便但是不美觀。這是我們可以這樣子:用一個中介者類負責所有功能的初始化和具體執行,我們需要功能時直接調用中介者類即可。
Time of Update: 2018-12-03
概述: 最近中國股市起起伏伏,當然了起伏就用商機,小明發現商機後果斷想入市,買入了中國證券,他想在電腦用戶端上,網頁上,手機上,iPad上都可以查看到該證券的即時行情,這種情況下我們應該怎麼設計我們的軟體呢?我們可以這樣:小明的所有用戶端上都訂閱中國證券這個股票,只要股票一有變化,所有的用戶端都會被通知到並且被自動更新。
Time of Update: 2018-12-03
概述: 我們玩單機遊戲的時候總會遇到老婆大人的各位事情,一會去買瓶醋了,一會去打個醬油了,會耽誤我們玩遊戲的進程,但是此時我們能有“儲存遊戲”這個寶貝,我們的主基地不會在我們打醬油的時候被對手拆掉。 這“儲存遊戲”的功能其實就是備忘錄模式的很好應用,她是在不破壞封裝的前提下,捕獲一個對象的內部狀態,並在該對象之外儲存這個狀態。這樣以後就可以就該對象恢複到原先儲存的狀態。這個其實也是我們的redo,undo所採用的模式。類圖和執行個體:簡單的模式執行個體:#include
Time of Update: 2018-12-03
解決的問題:適配器模式把一個類的介面變換成用戶端所期待的另一種介面,從而使原本介面不匹配而無法在一起工作的兩個類能夠在一起工作。比如說我的hp筆記本,美國產品,人家美國的電壓是110V的,而我們中國的電壓是220V,要在中國能使用,必須找個變壓器轉一下電壓才可以。這個變壓器就是個適配器。適配器模式有類適配器和對象適配器兩種模式,我們將分別討論。類適配器:由圖中可以看出,Adaptee類沒有Request方法,而客戶期待這個方法。為了使客戶能夠使用Adaptee類,提供一個中間環節,即類Adapt
Time of Update: 2018-12-03
概述: 我們去餐廳吃飯,我們是通過服務員來點菜,具體是誰來做這些菜和他們什麼時候完成的這些菜,其實我們都不知道。抽象之,“菜單要求者”我們和“菜單實現者”廚師,2者之間是松耦合的,我們對這些菜的其他一些請求比如“撤銷,重做”等,我們也不知道是誰在做。其實這就是本文要說的Command模式。
Time of Update: 2018-12-03
參考:http://topic.csdn.net/u/20090220/23/e2d130d9-d7d4-4520-bec7-e78ae6ca9aff.htmlhttp://topic.csdn.net/u/20091223/09/b841653f-5955-4708-b6a7-9b3b1f8c9f88.html?41398 using System;using System.Collections.Generic;using System.Text;using
Time of Update: 2018-12-03
.APS:存放二進位資源的中間檔案,VC把當前資源檔轉換成二進位格式,並存放在APS檔案中,以加快資源裝載速度。資源輔助檔案。.BMP:位元影像資源檔。.BSC:瀏覽資訊檔,由瀏覽資訊維護工具(BSCMAKE)從原始瀏覽資訊檔(.SBR)中產生,BSC檔案可以用來在原始碼編輯視窗中進行快速定位。用於瀏覽項目資訊的,如果用source brower的話就必須有這個檔案。可以在project options裡去掉Generate Browse Info
Time of Update: 2018-12-03
雖然這個問題比較簡單,但是我還是厚著臉皮,戴上墨鏡,貼上鬍子,叼上雪茄...喬裝成一個沒人認識我的大佬!寫下這篇文章....並且還是咬牙切齒的希望我這弱弱的舉動,能夠協助到些許人. (註:拍磚可以,別拍臉上!!) 以下是我力所能及的理解,望指教!String是一個類,string是一種資料類型.string是c#中的類,String是.net Framework的類(在c# IDE中不會顯示藍色) c# string映射為.net
Time of Update: 2018-12-03
我給大家推薦一個 WIN7 下邊的無損分區工具 Acronis Disk Director SuiteAcronis Disk Director Suite http://dl.iplaysoft.com/files/32.htmlAcronis Disk Director Suite