.NET Framework源碼研究系列之—馬甲List

  在上一篇隨筆<.NET

如何學習物件導向程式設計(OOP)

  最近參與了一個物件導向程式設計(以下簡稱OOP)的培訓,這兩天才有空整理一下思路,現在拿出來給大家來分享。本文旨在說明以何種方式學習OOP,文中如有不當之處還請大家指正。  上周看到一個人的文章,大致的意思是對OOP中的一些概念很困惑,不理解什麼是“物件導向的五個特性”或“三個原則”。說實話,最早我對這些概念的認識是背下來的,如果有人問,答得很流暢;後來發現這些概念很空洞,不知道在說些什麼,這時候就答不上來了;直到現在,也不該完全保證對這些概念完全瞭解,只能結合具體的應用說出個一二。  這也

[討論]未來有哪些編程概念會消失?

  今天重新看C#中委託,匿名方法等概念,腦子裡突然冒出這麼一個想法:未來進階語言編程會是什麼樣子,有哪些東西我們不用關心,現在拿出來給大家討論一下。   我這裡所說的進階語言是指最早的物件導向語言C++,Pascal等,後來的Smalltalk等,以及現代語言C#和Java,直到今天最新C#

.NET Framework源碼研究系列之—ArrayList與LinkedList

  在上一篇<.NET

.NET中的設計模式—由吃龍蝦想到的

  今天吃小龍蝦的時候忽然想到了以前一個湖北朋友講的蝦的故事.這位朋友是湖北人,據他說在他小時候他們那裡很多蝦,特別是夏天雨後,滿地爬的都是.因為傳說那是美國對付中國的秘密武器,居然沒有人敢吃.後來偶然有人提了半桶換賣了5塊錢回來,慢慢的大家認識到蝦的價值,隨後就有了今天吃得五香小龍蝦.然而近幾年出現的"洗蝦粉"又讓人心有餘悸.回想起昨天看到亞力山大<召集討論設計模式是語言表達能力低下的產物>一貼.突然發現設計模式和蝦居然有相似的命運.   設計模式從出現到發展,到普及再到今天,人們

.NET中的設計模式—單件模式

 如眾所知,單件模式做為<Gof 23中設計模式>之一,其意圖僅允許單件類的一個執行個體存在(擴充單件模式不在此文範圍內),並提供全域的存取方法.UML類圖如下. http://csharpindepth.com/Articles/General/Singleton.aspx一文中列舉了單件模式實現的5種方法,但諸多文章中都或多或少的遺漏一些問題:如何保證安全執行緒,如何保證僅有一個執行個體存在,如何根據業務變化擴充.下面以C#實現單件為例,對這些問題一一說明.1.        

.NET中的設計模式—代理模式(Proxy)

  一個稱職的代理人是什麼呢?顯然它不僅要向客戶提供供應者完善的服務,也要對這種服務進行有效控制,同時又要方便客戶使用。設計模式中的代理模式正式要充當這個代理人,那麼.NET中該如何?該代理人呢?且看下文。  代理模式是GOF23種設計模式中結構型模式之一,意圖是為其他對象提供一種代理以控制對這個對象的訪問,UML類圖如下:圖1由此圖也許我們看不出代理模式意圖要表達真實意思,那麼我們在看一副圖,如下:圖2由此圖聯絡其意圖,我們不難理解代理模式的意圖了。圖中aClient是客戶,要訪問aRealS

.NET Framework源碼研究系列之—Delegate

前言  曾幾何時能看到微軟產品的源碼簡直是天方夜譚,不過現在這卻成了現實,微軟終於對外開放了它的產品的原始碼.拋去開源運動與微軟之間的世代情仇,拋去微軟這一做法的初衷,這總歸是件好事,能夠讓我們撥開雲霧,一窺優秀產品的秘密.  前兩天看到有位仁兄在隨筆中的留言,說他以為".NET中的設計模式"是在講.NET Framework與設計模式的關係,其實不是,不過這也讓我想起來自己確實研究過.NET

.NET Framework源碼研究系列之—萬法歸宗Object

  經過前面三篇關於.NET Framework源碼研究系列的隨筆,相信大家都發現其實.NET

.NET中的設計模式——一步步發現裝飾模式

前言  過去我的一個朋友常說,學習任何程式設計語言最困難的部分是運行“Hello

.NET中的設計模式—策略模式&狀態模式

     凡是涉及過設計模式的人都應該聽過一些模式的名字,其中包括策略模式和狀態模式.它們就是我今天要闡述的對象.之所以放在一起,是因為二者有某種關係可以協助大家真正瞭解設計模式.為什麼沒有第三種,因為那樣子太多了,說不清. 對於這兩種模式官方的定義如下:策略模式: 定義一系列演算法,把它們一個個封裝起來,並使它們能相互替換。使得演算法可以獨立於它的客戶而變化。狀態模式:

WPF之路——從HelloWorld到WPF World

文章目錄 什麼是Hello WorldHello World有什麼發現Xaml元素樹基元素屬性樣式和模板資源學到了什麼如何學習下一步該做什麼 前言  有人說到,學習任何一種編程最困難的部分是“Hello World”。這一看似乎很可笑,仔細想來卻未必。平時很多我們自認為很簡單的東西也許恰恰是最困難的東西,比如C#中的一些基本概念,我們天天都在用,可你真的都理解他們嗎?!對很多人來說恐怕要打個問號了。  最近開始學習使用WPF,WPF是什嗎?

利用資料繫結(DataBinding)簡化多線程資料展示

  經常做WinForm開發的人可能會遇到這樣一種情況,WinForm程式後台有許多線程在執行任務,前台介面需要適時或定時顯示背景工作執行的情況。此類任務介面通常如下:  這裡存在一個問題是如何在介面上顯示後台線程上的狀態資料,也就是多線程如何訪問控制項。  .NET中的控制項並不是安全執行緒的,因此我們通常是用如下方法在介面上顯示後台線程的資料: private void Test(string val) { if

SQLCLR(一)入門

SQL Server 2005發布後,可以編寫出能夠在SQL Server中啟動並執行.net代碼了。同IIS一樣,SQL Server 2005也是.net程式的宿主。首先安裝sqlserver2005和visual studio 2005。啟用sqlserver2005的clr

.net DLL之間是通過AssemblyVersion建立參考關聯性的

  AssemblyVersion對程式集間的引用很重要,此版本號碼一般不要隨便改,也不要讓其自動產生,如果項目很多,類庫間引用很多你這麼做了的話,很可能把dll搞亂,解釋:  類庫ClassA設定:[assembly:

由感而發:離職的第四個理由

  今天看到園子裡周金根的《個人管理:程式員應不應該離職,我該何去何從呢?》一文,讀完之後就想寫出自己的觀點——個人離職的第四個理由——挑戰與經曆!   周兄能在一家公司工作十年,這種經曆想來不多,我自問自己做不到。而周兄給出了三個離職理由(職業方向,環境氛圍,工資獎金)也很恰當,在賦以充分的說明,更引起了大家的共鳴。然而人生就是如此嗎?!   我相信人與人的不同,也喜歡腳踏實地的做事,但讓我數十年做同一種工作,我肯定做不到,不是沒有那份耐心,而是希望有更多的挑戰,有更多的經曆,有更廣闊的視野。

自動將資料庫備忘添加到EF摘要&將EF摘要產生資料庫備忘

最近開始密切接觸Entity Framework,曆史原因,要DB First,但發現“從資料庫更新模型”後,Model裡沒有EF的備忘,一個一個表添加太麻煩,添加完後發現產生的SQL也不包含Documention裡的備忘。 將資料庫備忘添加到EF摘要:從資料庫更新模型後,假設為"D:\ Entity

WPF之路——WPF布局系統

前言     前段時間忙了一陣子Google Earth,這周又忙了一陣子架構師論文開題報告,現在終於有時間繼續<WPF之路>了。先回憶一下上篇的內容,在《從HelloWorld到WPF World》中,我們對WPF有了個大概的瞭解,並瞭解了初學WPF時應該從哪些知識點入手。今天我們就從最基本的知識點之一布局系統來繼續學習WPF,主要包括如下內容。

.NET中的設計模式——利用空模式構造安全的程式碼

題記:    《.NET中的設計模式》系列隨筆停下有一段時間了,一則總結個東西不容易,另一則,不想寫相同的內容(如果朋友們沒有在我的隨筆中看到新東西,我認為是浪費大家的時間,也是一種失敗)。   今天開題之前先讓大家見一個老朋友,相信沒有一個人會不認識它:-)大家是不是覺得很眼熟啊。程式中產生一個錯誤的原因很簡單,解決方案也很簡單,我也相信寫過兩年代碼的人只要稍微細心一點就很少遇到這個問題。拋去原因,相信很多人是這麼解決此類問題的:  if(obj!=null){}然而一個項目中,各種類似變數成

6個重要的.NET概念:棧,堆,實值型別,參考型別,裝箱,拆箱

引言  本篇文章主要介紹.NET中6個重要的概念:棧,堆,實值型別,參考型別,裝箱,拆箱。文章開始介紹當你聲明一個變數時,編譯器內部發生了什麼,然後介紹兩個重要的概念:棧和堆;最後介紹實值型別和參考型別,並說明一些有關它們的重要原理。  最後通過一個簡單的範例程式碼說明裝箱拆箱帶來的效能損耗。 聲明變數的內部機制  在.NET程式中,當你聲明一個變數,將在記憶體中分配一塊記憶體。這塊記憶體分為三部分:1,變數名;2,變數類型;3,變數值。  揭示了聲明一個變數時的內部機制,其中分配的記憶體類型依

總頁數: 61357 1 .... 4657 4658 4659 4660 4661 .... 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.