【技術開發焦點】C#多線程學習(六) 互斥對象
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
緣起 每次有新技術發布時,我們總能感受到兩種截然不同的情緒:一種是恐懼和抵抗,伴隨著這種情緒的還有諸如"C# 2.0用的挺好的,為什么要在C# 3.0搞到那么復雜?"或者"我還在使用C#1.0呢?"等言辭;...
軟件工程是一門獨特的工程藝術,需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個系統之間的交互問題,如何有效地解決不斷改變的需求所帶來的問題就顯得更為重要:Service端...
在本篇文章上一部分Order Processing的例子中,我們看到原本已Collection形式定義的DetailList屬性(public IList<TDetail> DetailList),在Data Contract中卻以Array的方式體現(public OrderDetai...
通過第一部分的介紹,我們可以體會到,WCF 的Data Contract在CLR Type和Neutral Contract之間搭建了一座橋梁,彌合了.NET世界和廠商中立世界的差異。通過WCF Data Contract我們將CLR Data Type暴...
|
1、ExecuteQuery方法 看命名,我們很容易聯想到ado.net里熟悉的Command的ExecuteNonQuery方法,但是VS的智能提示告訴我們這個方法返回的是一個泛型集合,應該“所思非所得”。下面通過一個簡單方法,...
本文涉及到一些JVM原理和Java的字節碼指令,推薦感興趣的讀者閱讀一本有關JVM的經典書籍《深入Java虛擬機(第2版)》,將它與我在《.NET 4.0面向對象編程漫談》中介紹的CLR原理與IL匯編指令作個對比,相信讀者會有...
在上一篇文章中,我們討論了兩種組織業務邏輯的模式:Transaction Script和Active Record。在本篇中開始講述Domain Model和Anemic Model。 Domain Model 在開發過程中,我們常常用Domain Model來對目標的業...
最近學習Django中,在看limodou的Django Step by Step,不過自己隨便寫寫還是碰到了挺多問題,不過貌似都是比較常見,還能順利解決。現在寫下來,也許以后會忘記,也許能幫上碰到同樣問題的中文URL:這個其實是很常識的東...
接上篇 4.數據訪問層設計 數據訪問層,這塊要說的不多。但是要澄清一點:數據訪問不一定就是訪問數據庫,雖然多數的情況下,我們確實把數據存儲在數據庫中。 這里我們用數據庫存儲數據,并且用Linq To Sql來...
1.闡明示例需求 本篇還是用之前的電子商務網站中的一個簡單的場景來講述:在頁面上需要顯示產品的列表信息。并且根據產品的類型不同,計算出相應的折扣。 在上篇中,我們已經設計項目的邏輯分層。我們再來回顧...
本篇主要講述ASP.NET應用中如何進行邏輯分層。本篇的前篇會從Smart UI 反模式和它的一些缺點開始講述,然后一步步的講述如何邏輯分層,而且在后篇中也會給出一個ASP.NET設計中常用的僅供參考的分層架構的Demo。...
再次申明一下:本系列不是講述TDD的,只是用TDD來建立設計的思想。即便是用DDD,有時候還是結合TDD一起使用的。 開發方式比較 我們用下面的一段分析來引出今天的內容: 想想我們平時是如何在寫代碼:拿來需...
前言:很多做開發的人都在不斷的摸索著,積極的學習,試圖找出一條走向架構設計的成功法則。每當有人問起我們的職業,我們也常常在說:”軟件設計”。有時,我就在想:”設計”,這個已經被我們嚼爛...
Google的開源Android移動操作系統正在席卷全球智能手機市場,和蘋果不一樣,它對那些想將應用程序提交到iPhone App Store的開發人員有著嚴格的指導方針和要求,Google的Android平臺非常開放,甚至還可以用PHP編寫An...
Aaron Griffin寫了一篇精彩的牢騷文章,主要是關于各種框架和它們能把程序員從主要業務編程中抽離出來的功能特征。概括一下他的主要論點,當你成為了一個“Rails程序員”,你使用的是一種易于理解但不...
MySQL的主從同步是一個很成熟的架構,優點為:①在從服務器可以執行查詢工作(即我們常說的讀功能),降低主服務器壓力;②在從主服務器進行備份,避免備份期間影響主服務器服務;③當主服務器出現問題時,可以切換到從服務...
注:如無特別說明Visual Studio均指Dev10即Visual Studio 2010。 入門篇 假設你是有著.Net平臺的程序員,并且使用Visual Studio 做為開發工具。 斷點:最簡單的一種,設置一個斷點,程序執行到那一句就自動...
最近看了自己關心的主題的微軟PDC視頻,也結合自己的Web 2.0項目做了一些思考。這次PDC最大的一個主題就是Azure OS,所謂的云操作系統。不過微軟的服務器要布到中國也不知道要到什么時候,所以也沒有深究。我主...
最近,有位論壇會員陷入了一個與許多入門級程序員相同的尷尬局面中:企業們不喜歡雇傭沒有經驗的人,并且多數都不愿意提供培訓。如果那么多的企業都不雇傭沒有經驗的人,那么這些人要從哪尋得他們所需的經驗呢?不幸...
HTML5 是繼 HTML4.01, XHTML 1.0 和 DOM 2 HTML 后的又一個重要版本,旨在消除富 Internet 程序(RIA)對 Flash, Silverlight, JavaFX 一類瀏覽器插件的依賴。 HTML5 帶來很多新功能,以及 HTML 代碼上的改變,你需...
Mono正在努力改進各個平臺上的使用體驗。近日Miguel de Icaza在博客上宣布MonoMac發布了新的版本。MonoMac是面向Mac OSX API的C#綁定,其API設計主要受到了MonoTouch的啟發,后者可以基于Mono開發原生的iOS應用程序...
從G1上市到現在,市面上已經出現了至少30款Android手機。為什么至今依然有一些用戶在抱怨Android不好用,在相關的開發中,什么才是真正值得關注的,開發的核心是什么?為什么移動應用需要格外關注用戶體驗?本文將對這...
依賴關系的倒置 抽象不應該依賴于實現細節,實現細節應該依賴于抽象。-抽象A直接依賴于實現細節b(軟件易脆,很容易需要重新編譯) -抽象A依賴于抽象B,實現細節b依賴于抽象B 動機(Motivation) 在軟件系...
從耦合關系談起 耦合關系直接決定著軟件面對變化時的行為 -模塊與模塊之間的緊耦合使得軟件面對變化時,相關模塊都要隨之更改 -模塊與模塊之間的松耦合使得軟件面對變化時,一些模塊更容易被替換或者...
適配(轉換)的概念無處不在 適配,即在不改變原有實現的基礎上,將原先不兼容的接口轉換為兼容的接口。 動機(Motivation) 在軟件系統中,由于應用環境的變化,常常需要將“一些現存的對象”放在新的...
抽象與實現 抽象不應該依賴于實現細節,實現細節應該依賴于抽象。 問題在于如果抽象B由于固有的原因,本身并不穩定,也有可能變化,怎么辦?
舉例來說 假如我們需要開發一個同時支持PC和手機的坦克游戲...
對象容器的問題 在面向對象系統中,我們常會遇到一類具有“容器”特征的對象——即它們在充當對象的同時,又是其他對象的容器。 如果我們要對這樣的對象容器進行處理: 上面是客...
子類復子類,子類何其多 假如我們需要為游戲中開發一種坦克,除了各種不同的型號的坦克外,我們還希望在不同場合中為其增加以下一種或多種功能:比如紅外線夜視功能,比如水陸兩棲功能,比如衛星定位功能等等。 ...
系統的復雜度 假設我們需要開發一個坦克模擬系統用于模擬坦克車在各種作戰環境中的行為,其中坦克系統由引擎、控制器、車輪、車身等各子系統構成。 如何使用這樣的系統 動機(Motivation) 上述A方...