GoF23種設計模式之 – singleton模式

動機: 在軟體系統中僅能有一個該類的執行個體。保證軟體系統只有一個該類的執行個體,這個工作應該讓這個類去實現,這是該類的職責,於是應該給這個類增加一個方法,來訪問該類的唯一執行個體。而不能讓客戶代碼(調用該類的代碼)環境來承擔維護該類僅有一個執行個體的工作。意圖: 保證一個類僅有一個執行個體,並提供一個該執行個體的全域訪問點。實現方法:

GetOpenFileName 選擇檔案的視窗

以前總以為那個選擇檔案的視窗要自己做,後來才知道不過是一個API而已.這個API函數的聲明是這個樣子的:WINCOMMDLGAPI BOOL APIENTRY GetOpenFileNameA(LPOPENFILENAMEA);WINCOMMDLGAPI BOOL APIENTRY GetOpenFileNameW(LPOPENFILENAMEW);#ifdef UNICODE#define GetOpenFileName GetOpenFileNameW#else#define

chm檔案打不開的方法

今天研究了半天才知道 chm檔案打不開的原因  重新註冊了好幾個dll檔案都沒解決後來竟然發現 下載了一個js的手冊 可以開啟 複製到另外一個地方 就打不開了發現複製到的那個目錄的路徑裡面含有中文  把這個js手冊再複製到英文的目錄內又能開啟了於是發現了打不開的解決方案  把chm檔案改名為英文 然後複製到一個純英文的路徑下就能開啟可能因為我的作業系統是英文版的win2003 enterprice吧 不知道中文版會不會遇到這種問題

GoF23種設計模式之 – Builder模式

產生器模式是比較簡單且應用廣泛的。動機:在軟體系統中經常面臨一個複雜物件的建立工作,通常由各個部分的子物件用一定的演算法構成,由於需求的變化,各個子物件會劇烈的變化,可組成複雜物件的主流程是很穩定的,這個時候就需要使用產生器模式了。產生器模式就是為了應對複雜物件建立過程中各個子物件代碼的變化的。解決方案: 將一個複雜的對象的建立過程與子物件的建立相分離,使同樣的構建過程獲得不同的對象。

Gof23種設計模式之 – Abstract Factory模式

不同於singleton模式的實現,singleton模式的實現只使用了物件導向概念中的一個封裝,也就是封裝了建構函式,不對外可見,對外暴露出一個擷取唯一執行個體的方法,並沒有利用到物件導向概念中的繼承,多態等進階功能。abstract

編程經驗 之 剛總結的幾個批處理語句

因為我想知道一個網段有哪些主機是存活的,自己ping255個機器太累,所以想到了這些for /l %i in (1,1,255) do ping 192.168.0.%i -l 1 -n 1 >> result.txt執行255次ping 192.168.0.%i -l 1 -n 1並將結果輸出至result.txt檔案find "bytes = 1" "result.txt"尋找result.txt檔案中帶有bytes = 1的行並列印到螢幕上 因為前面的ping指定了-l 1了

每日一練 之 .Net Framework的attribute

我們經常會發現有些類的上面會加上[Serilizable] [DllImport]

The last of the human freedoms!

人類的終極自由!作為一個人,可以對外部環境外部刺激做出反應,但是也可以選擇不,是這個樣子了,無論貧窮和富貴,疾病和健康,寒冷與溫熱,對外部環境而言,那些只是外部環境,當一個人的內心真正強大的時候,這些外部環境都無法影響內心,這就是人類的終極自由,擁抱嚴寒酷暑,微笑面對所有的苦難與虛名浮利,不讓外部環境左右自己的內心。當一個人的自我意識真正獨立與超脫於肉體之外時,這個人的內心才是真正的強大。建立純真如一的信念,摒除邪欲,摒除所有的私心雜念,迴歸原始的嬰兒狀態!十定律:    1. 自由定律  

GoF23種設計模式之 – Factory Method模式

模組的耦合關係分為緊耦合和松耦合,緊耦合關係在一個模組更改時其他依賴於該模組的模組都要隨之更改,而松耦合模組更改時,不會或者影響到的模組比較少.設計模式要解決的問題就是將經常發生改變的模組抽象成介面或抽象類別,讓依賴該模組的其他模組調用介面類型的方法,而不關心該介面指向的對象的實際類型。在軟體系統中經常會遇到某對象的建立工作,由於需求的變化,這個對象的實現代碼也會有劇烈的變化,但是無論實現的代碼如何改變,它所提供的介面非常穩定,這個時候就可以用Factory

ROR 命令大全

1.1 建立一個Rails應用程式 $ rails app_name 可選項: -d, database=xxx 指定安裝一個資料庫(mysql oracle postgresql sqlite2 sqlite3 ), 預設情況下是資料庫 -r, ruby-path= 指定Ruby的安裝路徑,如果沒有指定,scrīpts使用env去找Ruby  -f, freeze (凍結)freezes Rails在vendor/rails目錄 1.2 API Documentation $

一日一練 之 BackgroundWorker

BackgroudWorker是.Net的Winform開發中處理可能會阻塞介面的耗時操作的標準做法,這種做法也許不是效率最高的(你可以使用BeginInvoke與EndInvoke並在EndInvoke擷取結果然後根據結果修改介面顯示,當然是詢問InvokeRequired方式,也可以Thread.Start並在函數中根據結果以control.Invoke方式修改介面顯示,但是這些不是最優雅的代碼實現)BackgroundWorker提供了DoWork事件,可以把耗時操作綁定到該事件,事件響應

泛型技術的實現

泛型技術的實現方法有多種,比如模板,多態等。模板是編譯時間決定,多態是運行時決定,其他的比如RTTI也是運行時確定。最好用的應該是模板,多態是依靠虛表在運行時查表實現的。比如一個類擁有虛方法,那麼這個類的執行個體的記憶體起始地址就是虛表地址,可以把記憶體起始地址強制轉換成int*,取得虛表,然後(int*)*(int*)取得虛表裡的第一個函數的記憶體位址,然後強制轉換成函數類型,即可調用來驗證虛表機制。

添加LinkServer的兩句代碼

sp_addlinkedserver 'linkserver','','SQLOLEDB','linkserver.com'sp_addlinkedsrvlogin 'linkserver','false',null,'sa','asdf'第一句是添加一個名字為linkserver的連結的伺服器 地址是linkserver.com第二句是針對第一句添加的Linkserver添加一個訪問帳號兩句不能同時執行 要第一句執行成功後執行第二句

什麼是塊元素block和內嵌元素inline

  我們首先要瞭解,所有的html元素,都要麼是block(塊元素)、要麼是inline(內嵌元素)。下面瞭解一下block、inline各自的特點:  block元素的特點:  總是在新行上開始;  高度,行高以及頂和底邊距都可控制;  寬度預設是它的容器的100%,除非設定一個寬度。  inline元素的特點:   和其他元素都在一行上;  高,行高及頂和底邊距不可改變;  寬度就是它的文字或圖片的寬度,不可改變。  我們來詳細瞭解它們的情況。  塊元素(block

bs開發的趨勢

mvc中的v,現在仍然無法擺脫服務端邏輯,其實現在有許多網站,已經在走另外一種模式。整個web系統分為兩個部分,一部分稱之為用戶端,是使用javascript編寫的瀏覽器為展現平台的,將從服務端提取的xml格式的資料展現給使用者。第二個部分是服務端,只負責提供xml文檔給用戶端,絲毫不關心頁面的呈現。兩個部分先定義好資料通訊介面與資料格式,然後做到完全的並行開發。

檔案非同步上傳

其實這裡所說的檔案非同步上傳,是使用iframe來實現的,與頁面的提交是兩次對伺服器的請求。 首先我們來看首頁面main.htm,上傳檔案的FORM的代碼: Code highlighting produced by Actipro CodeHighlighter

每日一練 之 .Net類比QQ的托盤方式

有些應用程式是長時間啟動並執行,但又不想讓它佔據工作列,還想經常調出來看下結果,這個時候就可以使用托盤式的程式。.Net實現托盤程式不複雜,基本的原理是這個樣子的:1 給應用程式表單拖一個NotifyIcon控制項。其實托盤區在微軟的標準稱呼就叫 通知區域,所以這個控制項的名字叫NotifyIcon。2 給NotifyIcon的Icon屬性賦一個Icon類的執行個體,就是設定表徵圖。3

讀博筆記 之 多線程、非同步以及鎖

前幾天寫了兩篇文章

每日一課(8/75)CPU資源和儲存空間 之 寄存器組的介紹

使用彙編編程時要直接操作硬體資源,如CPU內部資源,儲存空間和I/O連接埠,所以一定要學習並記住CPU內部寄存器的命名,功能以及常見的用途,感謝老天,寄存器並不是太多。還有要明白儲存空間的分段管理員模式,儲存單元的地址的標記法和物理地址的形成方式,當然也不難理解。一

對torrent檔案的解析

torrent檔案是使用bencoded編碼的檔案,儲存了bt下載的檔案資訊以及trackers伺服器的資訊。如果要對torrent檔案進行解析,就首先要瞭解torrent檔案的大體結構。舉一個torrent檔案的例子|Root(dict)|--|announce(str)|--|announce-list(list)|--|--|0(list)|--|--|--|0(str)|--|--|--|1(str)|--|created by(str)|--|creation date(int)|--

總頁數: 61357 1 .... 8780 8781 8782 8783 8784 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.