抽象工廠(Abstract Factory)模式

抽象工廠(Abstract Factory)模式 抽象原廠模式是所有形態的原廠模式中最為抽象和最具一般性的一種形態。為了方便引進抽象原廠模式,引進一個新概念:產品族(Product

簡單工廠(Simple Factory)模式

簡單工廠(Simple Factory)模式 Simple Factory模式根據提供給它的資料,返回幾個可能類中的一個類的執行個體。通常它返回的類都有一個公用的父類和公用的方法。Simple Factory模式實際上不是GoF 23個設計模式中的一員。Simple Factory模式角色與結構:工廠類角色Creator (LightSimpleFactory):工廠類在用戶端的直接控制下(Create方法)建立產品對象。抽象產品角色Product

工作之餘,自省~

到這家公司幾個月了,工作起來有時還是覺得吃力,倒不是工作的難度有多大,就算是再難的問題,就憑咱這腦瓜,也不是多大問題……:)工作中最費勁的地方就是理解公司前輩們所做的項目,前輩到底是前輩,自然有很多值得我們學習的地方。但我們現在不可能如身臨其境般洞悉前輩們當時設計時的思想,如今我們面對的只是一行又一行代碼。如Crowdsourced Security

Dotnet中強行關閉多線程應用程式的所有線程

對於多線程應用程式來說,如果直接點擊右上方“關閉”按鈕,或者使用“this.close()”來退出程式的話, 此時若某個子線程依然在處理資料,則雖然主程式視窗會關閉,但程式的進程並未退出,這就使得我們還要在“資源管理員”中找到該進程並強行關閉。當然,對於有的程式來說,這種情況無所謂,主視窗關閉後,還未運行完畢的子線程繼續運行,所有子線程都運行關閉後,程式的進程自動會關閉,這樣還可以避免丟失子線程中正在處理的資料。但是,有的時候,我們想要立即強行退出所有的線程,這時,可以在this.close()

對PropertyGrid控制項中PropertyValueChanged事件的探討

PropertyGrid控制項的PropertyValueChanged事件看似很簡單,就是屬性值被更改時觸發該事件。但是在做一些較複雜的應用時我發現一個問題,如果某個屬性項的資料類型為參考型別,比如說是一個自訂的類,那麼編譯器是如何判斷這個項是否更改了呢?起初,我想當然的認為編譯器是用Equals函數來判斷的,Equals函數的預設實現僅支援引用相等,但我們在這裡顯然要求的是值相等,就是說要判斷參考型別的執行個體的各項公有屬性的值是否都相等。按照這個思路,我在我的自訂類型裡重寫了Equals函

關於Dotnet中的線程池

線程池在應用程式資源的調配與處理上,做了一些最佳化,如果只是需要簡單的多開幾個線程來同時處理資料,而且每個線程的執行時間都很短,用線程池是一個不錯的選擇。但是,如果每個子線程的執行時間很長,而總的需要處理的資料量很巨大,導致主線程又在不斷的開啟新的線程,個人感覺線程池不是一個很好的選擇。我曾經有過這樣的經曆,感覺線程池用在這種情況下的話,一方面是速度好像總有一定的限制,雖然可以更改線程池中的最大線程數,但總是不能自由的增加(當然是在硬體能夠承受範圍以內的),無法達到我想要的速度;另一方面我總懷疑

使用動態SQL的一點小技巧

在預存程序使用動態SQL時,如果在動態SQL中需用到之前定義的變數,則不能直接使用,而必須這樣:SET @Sql = N'SELECT @a = MAX(LogTime) FROM LogTable'EXEC sp_executesql @Sql,N'@a datetime output',@LogTime output

關於郵件群發

最近在做一個項目,要求按照客戶事先設定好的條件以一定的時間間隔給客戶發送郵件。其實之前公司有人做過這個,但速度太慢,總是不能在一天之內發完郵件。因為每天要處理的記錄總數有150萬左右,而對於每一條記錄,又不單單只是發送郵件,而是需要根據設定的條件先從資料庫中查詢出結果後,再將結果組合成郵件內文,然後發送出去。我分析了一下以前的程式,主要做了兩方面的改進:一、因為需要並發處理資料,所以肯定要用到多線程。但以前的程式用到了線程池,我改為了自己控制線程,請參考這兩者的比較。二、在郵件的發送上,以前的程

存取使用者資料的可選方法

在程式中,有些內容是不固定的,例如使用者資料,除了一些基本資料,可能還要有一些其他資料資訊,例如MSN、個人首頁、簽名檔等,一般對於這樣的都是每一個屬性對應於資料庫中的一個欄位。但是如果以後我們因為需要增加一些屬性,例如QQ號、Blog地址等,如果還是用這種增加資料表欄位的方法,那麼將會頻繁的修改資料庫表結構、預存程序、資料庫訪問的程式。那麼可以用以下方法:http://blog.joycode.com/dotey/archive/2004/12/10/40887.aspx注意一般這類屬性在資料

感覺技術真是奇妙~

    這兩天有點閑,公司的那些小修小補小創新的還算項目的項目告一段落了,自己接的私活也結束了,輕鬆了些天。    前段時間太忙,只是埋頭寫代碼,都沒怎麼上網,現在有時間了,看了看,發現好多新東西又出來了,呵呵,都是好東西啊,寫個列表,督促自己學習一下:        asp.net 2.0    atlas    XUL    web標準        其實也不算太新了,只不過這些東西我接觸得比較少而已,但又覺得這些東西很是奇妙,想看一看,希望在以後的項目中能夠用到~

使用Enterprise Library時出現“不允許所請求的註冊表訪問權”錯誤

使用EnterpriseLibrary的應用程式在某些機器上使用,會出現異常錯誤,提示資訊如下:安全性異常 說明:應用程式試圖執行安全性原則不允許的操作。要授予此應用程式所需的許可權,請與系統管理員聯絡,或在設定檔中更改該應用程式的信任層級。 異常詳細資料: System.Security.SecurityException: 不允許所請求的註冊表訪問權。 在Enterprise Library的FAQs中可以找到答案,有三種解決辦法: 1. 運行安裝Enterprise

Silverlight 2 Beta 1在Firefox下顯示時的一點小問題~

昨天,我將完成的一個Silverlight 2 Beta 1控制項嵌入HTML中顯示時,在IE下一切正常,在firefox中卻提示我沒有裝Silverlight 2外掛程式,但是另一個Silverlight 2 Beta 1控制項卻在IE和firefox中均顯示正常……仔細比較了兩者的不同後,找到了問題所在。。。有問題的那個控制項插入HTML所用的代碼如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http:/

多線程編程中Join與WaitOne的區別

舉例說明:Join:在一個線程MainThread中開啟一個新的線程NewThread,在完成初始化並啟動NewThread的操作後,調用Join,則MainThread堵塞,直到NewThread執行完畢,MainThread才繼續執行。using System;using System.Threading;class IsThreadPool{    static void Main()    {        Console.WriteLine("MainThread start."); 

關鍵詞:應用程式擴充,萬用字元應用程式對應

在IIS 6.0中,有兩項設定,一直讓我比較困惑,雖然項目中都有用到過,但總感覺對它們的認識比較模糊,那就是“應用程式擴充” 和 “萬用字元應用程式對應”。前幾天,利用項目的間隙,在網上查了一些資料,結合自己項目中的應用,對這兩項設定有了一些初步的認識,現在整理出來,和大家一起探討:在“應用程式擴充”中,可以設定對特定副檔名的請求的處理方式,比如.aspx,.ascx,.asmx,.ashx這幾個都設定為由“c:\windows\microsoft.net\framework\v2.0.5072

這段時間的所得~

        這些天都比較充實,接觸了一些新的東西,也學到了一些新的東西。        以前一直都對網路編程這個領域比較嚮往,但一直沒有找到切入點。最近因為公司工作的需要,接觸了一些TCP/UDP網路傳輸方面的東西,覺得很有意思,也有了一些心得。有時間會做一點自己用的實用的小東西,呵呵~        一直夢想在自己的機器上建立自己的網站,但總是因為自己的機器沒有固定的IP,無法實現,前幾天偶爾看到一個軟體“花生殼”,一試之下,果然很好用,唉,怎麼以前沒有找到這個軟體呢。

古怪的ConfigurationManager類

開始使用VS 2005,習慣性的使用ConfigurationSettings類來讀取應用程式設定檔的資訊時,卻被編譯器提示說:警告 1 “System.Configuration.ConfigurationSettings.AppSettings”已淘汰:“This method is obsolete, it has been replaced by

new作為修飾符時的使用,以及介面的顯式實現

先上代碼:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            BClass b = new BClass();           

用戶端與伺服器端TCP串連,關閉串連時應作的處理

用戶端與伺服器端通過TCP串連,用戶端主動關閉串連時,會向伺服器端發送一條資訊,內容為null,據此,可在伺服器端監聽線程中如下處理:if (acceptSocket.Poll (-1, SelectMode.SelectRead )){ if (acceptSocket.Available > 0) {  tcpData.recSize = acceptSocket.Receive (tcpData.recData);  tcpData.sendSocket = acceptSocket

datagridview與Excel的匯入匯出問題

匯入Excelprivate void button1_Click(object sender, EventArgs e)        {            //this.openFileDialog1.ShowDialog();            OpenFileDialog openfile = new OpenFileDialog();            openfile.Filter = "工作薄(*.xls)|*.xls|所有檔案(*.*)|*.*";          

資料庫連接字串匯總(不斷增加中~)

串連Access:Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\BegASPNET\Northwind.mdb有密碼時:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\trade.mdb;Jet OLEDB:Database Password=a;(或者,直接用Password?)     串連Sql Server:user id=sa;password=;initial

總頁數: 61357 1 .... 6629 6630 6631 6632 6633 .... 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.