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