Time of Update: 2018-12-07
在上一篇裡面,我們初步瞭解了OO設計,OO設計的最獨特之處在於他看待需求的方式。用這樣的方式,我們不需要急於確定軟體需要實現哪些流程、設計哪些功能點、製作哪些畫面,而是要關注需求中一些更加基本的概念。首先根據這些概念開發出一些零件,然後把這些零件組裝起來實現需要的功能。用這樣的方式,我們不需要一開始就去知道所有的業務需求,只需要知道一些比較重要的需求,就可以開始開發了。這樣開發出來的程式不僅可以實現當前的需要,同時也是一個業務開發的平台,在這個平台上可以不斷的開發新的功能。這種設計思想有很多實
Time of Update: 2018-12-07
當我們需要從一個字串(主串)中尋找一個模式串(子串)時,使用KMP演算法可以極大地提升效率。KMP是一個高效的字串匹配演算法,它巧妙的消除了在匹配的過程中指標回溯的問題,關於KMP演算法的更多介紹,可以參考這裡。原始的KMP演算法適用的對象是字串的匹配搜尋,其實針對任意類型的串(實際上就是一個數組)的子串搜尋,都可以使用KMP演算法。比如,我們可能需要在byte[]中尋找一個特定的位元組數組,這同樣可以使用KMP演算法來提升匹配效能。為此,我實現了泛型的KMP演算法,使之可以應用於任意類型的串匹
Time of Update: 2018-12-07
1.前提
Time of Update: 2018-12-07
最近因為工作需要,在學習silverlight的使用。發現 xaml原本是支援3D,silverlight上的xaml卻沒有3d的支援,想起曾經有個叫 svgvml3d的javascript代碼,可以通過vml或者svg來繪製3d的情境。於是就將其拿來改改,經過半天的折騰,終於出來了大致的模樣。點擊這裡下載代碼用了silverlight後的一個好處就是容易繪製半透明效果。這個代碼IE上運行正常,但是在我的機器上的firefox上卻有問題,一時找不到原因,望高人指點。———————————————
Time of Update: 2018-12-07
在FIM同步中,除了上次提到的,刪除A庫之後,同步刪除B庫的需求(點擊這裡)。還有一種比較常見的需求:通常在應用系統中,並不會真實刪除一條資料庫記錄,只是做一個標記而已。操作思路:1、資料來源刪除使用者->刪除對應Metaverse對象(此時應用系統對應的CS
Time of Update: 2018-12-07
PS:目前官網的SDK詳細文檔還沒出,我也只能盡我所知來寫了,不對的地方,大家可以一起補充;如果有新的發現,我會持續更新此文。MediaElement類簡介:用來播放視頻或聲音名稱空間:System.Windows.Controls程式集:agclr 定義:C#代碼public sealed class MediaElement :System.Windows.Controls.MediaBase 如何?MedioElement重複播放(Replay)?1
Time of Update: 2018-12-07
FIM錯誤: Error:invalid-dn,Multiple values were specified for an attribute that can have only one value. 原以為是有多個值設定到同一個屬性中(包括http://support.microsoft.com/kb/286760 的說法也是。) 但後來仔細觀察發現出現這類問題的共性在於他們多了個空格。
Time of Update: 2018-12-07
剛開始幹這一行的時候,對代碼的複用有很高的熱情。那時候總是希望自己寫出的function、class、模組都是可以複用的,能夠優美的解決所有問題。但是往往事於願違,設計的變更、需求的變更、種種沒有預料的情況最終把自己的代碼摧毀的面目全非。有時一個簡單的function會出現各種不同的版本,SendMessage、SendMessage2、SendMessageEx……在注釋中說明其間微妙的區別。複用的計劃最終破產。經曆打擊後,又走向另一個極端:使用copy-paste解決問題。不在乎代碼的複用性
Time of Update: 2018-12-07
當我們把基於.NET 2.0開發的網路用戶端程式部署到windows 7 家庭普通版上啟動時,報出了“配置系統未能初始化”的異常,在另外一些windows 7 家庭普通版的機器上則報出“應用程式無法啟動,因為應用程式的並行配置不正確 ”的異常。奇怪,以前未用過windows 7 家庭普通版,也從未碰到過類似的問題。 根據異常的提示,我們查看了windows事件記錄,日誌中說xml設定檔的第三行有語法錯誤。我們用戶端的設定檔App.Config相當簡單:<?xml
Time of Update: 2018-12-07
由於最近有了寶寶,導致夜裡寫文章的時間越來越短,而白天又忙於開發。沒辦法,只有擠時間去寫東西了。前些天在園子裡看到了這篇文章,http://www.cnblogs.com/Yahong111/archive/2007/07/18/822946.html,對裡面寫的內容瀏覽了一下,這裡首先對作者的實踐精神表示讚賞。我這裡只是從別的角度闡述一下AbstractFactory在這種應用情境下的發展,內容不多,希望大家見諒。 1. DbService
Time of Update: 2018-12-07
在很多軟體系統中,都允許使用者佈建自己的頭像,甚至可以直接使用網路攝影機照相作為自己的頭像,就像QQ的自拍頭像功能一樣。 這種功能是如何?的了?最直接的,我們可以使用Windows提供的VFW技術或DirectX技術來捕獲網路攝影機採集到的視頻和圖片。但是,無論使用這兩種技術中的哪一個,要實現一個相容所有網路攝影機而又運行穩定的拍照功能,都不是那麼容易。幸運的是,OMCS已經內建整合了這種功能的一個WinForm控制項PhotoPanel,我們可以直接拿來使用。
Time of Update: 2018-12-07
近段時間,有幾個朋友問我如何?類似QQ離線檔案的功能。不想一一作答,就寫一篇博文來比較完整的解釋這個問題。 所謂“離線檔案”,就是當接收者不線上時,寄件者先把檔案傳送給服務端,在伺服器上暫時儲存,等接收者上線時,服務端再把檔案發送給他。當然,要想實現離線檔案的功能,其最基本的前提是要先實現傳送檔案的功能,我們就以ESFramework提供的傳送檔案的功能為基礎,在其之上一步步完成一個基本的離線檔案功能。 下面我們就使用者在使用離線檔案時,按各個動作發生的先後順序,
Time of Update: 2018-12-07
1.裝飾模式的概述2.1 什麼是裝飾模式 在不改變對象的前提下,動態增加其功能,即我們不希望改變原有的類,或採用建立子類的方法增加功能,這種情況下需要採用裝飾模式。2.2結構 修飾一個對象後,其介面不應該發生變化;否則這個對象不能被原有調用者使用,修飾失去了意義。由此引出了裝飾模式結構最重要的一點,即裝飾者和被裝飾者具有相同的介面。換句話說,動態增加的功能不應該破壞已有的介面。裝飾模式的結構如所示。
Time of Update: 2018-12-07
1.引言 在商品房銷售系統中,房屋資訊是基礎資訊。在系統運行前必須輸入房屋的各種資訊到系統中,這是一項枯燥的重複勞動。如果讓使用者重複輸入房間的類型、面積和衛生間樣式,這個系統肯定尚未運行就夭折了。實際上,一個小區樓盤的樣式並不多,不同的只是樓號。另外,樓盤中的房間類型也非常有限,從而為解決輸入問題提供了啟示。樓盤的邏輯結構。
Time of Update: 2018-12-07
遊戲背景: 時間是歐洲中世紀,一位英雄堅守著他國家最後的城堡。一旦敵人攻破這個城堡,他的任務就失敗了。這位英雄有著百步穿楊的本領,還有強大的魔法技能。雖然敵人發起了一波波潮水般的攻擊,但他都頑強的擊退了。 敵人不甘失敗,派出了各種兵力,長矛兵,盾牌兵,騎兵,後來還調來投石車,空中的獅鷲騎士。敵人勢要把這個城堡攻下,這位最後的英雄能守住城堡嗎? 開發曆程:
Time of Update: 2018-12-07
1.概要1.1意圖 將複雜物件的構建與表示分離,使得同樣的構建過程可以建立不同的表示。需要注意如下幾點。(1)構建與表示分離:表明產生器模式的結構,構建過程被封裝在導航器中,產生器則負責實現具體的表示。(2)同樣的構建過程:產生器模式關注的是構建過程,即構建過程是相同的。(3)不同的表示:產生器模式並不在意產生對象的結果,其構造的產品不一定有相同的類型。1.2使用場合
Time of Update: 2018-12-07
GOF指出了設計模式能夠解決的問題,但是設計模式也不是萬能,什麼都可以做,肯定有他不能做的事情或者是用了設計模式卻適得其反。1.設計模式不是法則 模式理論的精髓之一就是模式的使用是有前提和代價的,模式是在某種前提下,綜合各方面的因素考慮得出的結果。即在使用模式時總要付出一定的代價的,當然這種代價是可以接受的。如果某個模式在所有場合的使用都是必然的,那麼它就不叫設計模式了,而是必須遵守的法則。例如“面向借口,而非實現編程”是法則而非模式。
Time of Update: 2018-12-07
如果把建立看作一個職責,那麼系統中的哪個對象應該擁有這個職責呢?如果把建立看作知識,那麼建立知識應該放置在什麼地方呢?說到職責我們不得不說一下著名的GRASP原則:GRASP是通用職責分配軟體模式(General Responsibility Assignment Software patterns)的簡稱。它包含了9大模式,分別如下所示: 1 建立者(Creator) :決定對象應該有誰來建立的問題。 2 資訊專家(Information
Time of Update: 2018-12-07
上一篇寫如何免安裝Oracle來使用PL/SQL Developer,http://www.cnblogs.com/volnet/archive/2012/05/22/2513728.html這一篇則需要在一台主機上同時支援.net程式,不論編譯成x86還是x64都要OK。1、下載Oracle Data Access Components(ODAC)
Time of Update: 2018-12-07
微軟的官方網站近期由於光纜斷掉不好上,所以有空看了一下WPF/E,有一點小得,就記到了部落格上了。 一、aghost.js檔案