Time of Update: 2018-12-08
文章目錄 MVVM中View與ViewModel是強引用的雙向關聯關係,容易發生記憶體泄露,任何一方沒有被回收都會導致另一方不能被GC回收。 Comand串連了View與ViewModel,容易產生記憶體泄露。 發現記憶體泄露在幾個View間導航幾次,兩次導航到View頁面,擷取記憶體快照,發現Info有兩個執行個體。記憶體沒有被釋放。
Time of Update: 2018-12-08
文章目錄 定位泄露記憶體的對象很容易,但是找出引起泄露的原因並不容易,因為從GC到目標對象(記憶體泄露對象)的路徑不只一條,找出哪條路徑引起了記憶體泄露是非常煩人的工作,大部分情況只能憑藉自己的經驗。
Time of Update: 2018-12-08
看到標題可能已經要受到批評指正:Code First提倡的就是先用物件導向方式建模然後由EF自動產生資料庫(首先不討論優劣性,個人一直很嚮往這種設計方式),如果先資料庫建模再產生實體模型當然用VS2010的EF模板再全選拖拓拽表產生更方便,而且是正道…...但除了鑽牛角尖以外,也不乏真正需要這樣做的情境,這裡先不討論這些。回到正題,也當是對Code First方式做個進一步的瞭解吧,呵呵。 (本文假設您已經瞭解EF和Code First,當然你也可以到部落格園裡找找其它High
Time of Update: 2018-12-08
...我知道這個項目bug很多,無法按時完成,即使老闆把我炒了也是應該的。曾經有一個做單元測試的機會放在我面前,我沒有珍惜,等到後來項目雪崩了才後悔。如果上天能再給我一次機會,我會對老闆說:我要做單元測試!如果一定要在單元測試上加個日期,我希望是一直。...在這裡我並不是想說該怎麼樣去進行單元測試,既然我們無法規定該如何編寫產品代碼去實現需求功能,同樣也不能要求開發人員該如何編寫測試代碼,甚至是否要編寫UT。勸服專案經理在項目中實施單元測試更是難上加難,因為單元測試對PM來說往往意味著需要更長的
Time of Update: 2018-12-08
本文就DNN頁面產生引擎隨筆與思考,同時會牽涉到CommunityServer的Skin機制、Url Rewriter、SharePoint知識。在DNN中,只有為數不多的幾個頁面(.aspx),除去核心機制外,大多數商務邏輯都寫在使用者控制項裡(.ascx),那DNN是如何展現出千變萬化的頁面的呢?分析之後,你會發現,所謂千變萬化的頁面只是url
Time of Update: 2018-12-08
今天有朋友問題我如何擷取某年中第幾個禮拜的時間範圍,似乎以前好像記得.NET有,不過今天一查沒有翻到,在google搜尋到這個,希望以後能自己用上,測試已經通過。 public static void Main() { DateTime date1 = GoToWeek(2012, 2); Console.Write(date1.ToString()); Console.Read(); }
Time of Update: 2018-12-08
文章目錄 對象的建立可以使用new,也可以使用IOC架如:castle、MEF等,IOC建立的對象的生命週期,可能IOC負責管理,使用架構的開發人員如果不弄清楚可能會造成記憶體泄露問題。 這些記憶體泄露問題並不是IOC架構的bug,只是開發人員使用不當或者不注意造成的記憶體泄露問題。 以MEF為例說明我碰到的兩種記憶體泄露問題。 記憶體泄露系列閱讀提示:
Time of Update: 2018-12-08
在使用SharePoint列表做資料存放區時,與其它系統做Data
Time of Update: 2018-12-08
看了回複發現有些人對MVP的理解和我的理解有些差別,寫了下面的東西。主要參考了下面幾篇文章http://codebetter.com/blogs/jeremy.miller/articles/129542.aspxhttp://codebetter.com/blogs/jeremy.miller/archive/2006/02/01/137457.aspxhttp://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerMode
Time of Update: 2018-12-08
過節回來就一直在研究單元測試。雖然之前也大概使用過NUnit Framework編寫單元測試代碼,但也只是學習和嘗試性質的,沒有在具體項目中去實踐和深入,實在可惜。經過這段實踐對NUnit和VSTS的研究和嘗試,發現自己更喜歡和適合測試驅動開發(TDD)這種編程方式,code by intention的編程方式實在是令人愉悅,感謝linkin一直來的思想熏陶。接下來打算一個具體項目中進行單元測試的實踐,打算把這個實踐過程記錄下來,先post出大綱:已發表實踐單元測試系列文章:1、實踐單元測試(
Time of Update: 2018-12-08
工欲擅其事,必先利其器,能利用工具是人與動物的最大區別。然而,大多數商業化工具價格不菲,已經加入WTO好幾年了,再用盜版會給企業帶來很大的不確定性,並且盜版用多了,往往會失去一種程式員的自豪感,丟掉一種文化。經過幾個月的摸索,本著以下原則,偶選擇了一些適合中小企業開發的工具,當作自己的工具箱: (1)適用於中小型企業,中小型項目(<500萬),功能適度 (2)易用性好,具備必要的文檔 (3)免費或低價
Time of Update: 2018-12-08
什麼是重構重構,用最簡單的一句話說:就是要在不改變系統功能的情況下,對系統的內部結構進行重新調整。重構的最直接目的在於改進軟體系統的內部架構。一個好的結構可以更加適應於需求的變化,更好的滿足客戶的需求,最大限度的延長軟體系統的生命週期。為什麼要重構在不改變系統功能的情況下,改變系統的實現方式。為什麼要這麼做?投入精力不用來滿足客戶關心的需求,而是僅僅改變了軟體的實現方式,這是否是在浪費客戶的投資呢?重構的重要性要從軟體的生命週期說起。軟體不同與普通的產品,他是一種智力產品,沒有具體的物理形態。一
Time of Update: 2018-12-08
對象的建立可以使用new,也可以使用IOC架如:castle、MEF等,IOC建立的對象的生命週期,可能IOC負責管理,使用架構的開發人員如果不弄清楚可能會造成記憶體泄露問題。這些記憶體泄露問題並不是IOC架構的bug,只是開發人員使用不當或者不注意造成的記憶體泄露問題。以MEF為例說明我碰到的兩種記憶體泄露問題。記憶體泄露系列閱讀提示:一摸一樣的對象圖,有時候我們可以認為它是記憶體泄露,有時候又認為它不是記憶體泄露,這一切只是由於上下文不同,這一系列文章中ANTS Memoery
Time of Update: 2018-12-08
今天在做ADO.NET中的adapter進行資料自動觸發更新資料庫功能,發現一個很奇怪的問題,原來資料操作都是自己代碼去完成更新,從來沒有涉及到這種方式,所以一時暈菜了。 1 SQLiteDataAdapter dataAdpater = new SQLiteDataAdapter("Select cid,sd from VC", conn); 2 dataAdpater.DeleteCommand = new SQLiteCommand("delete From VC Where cid =
Time of Update: 2018-12-08
文章目錄 What does that mean?So, don't use the Default Gateway option.What about the other cases?What it all means... So, you need to setup a VPN connection to your work/client/buddy's remote network. No problem, just use the
Time of Update: 2018-12-08
********************************************************************* 著作權聲明** 本文以Creative Commons的發布,請嚴格遵循該授權協議。* 本文首發於部落格園, 此聲明為本文章中不可或缺的一部分。* 作者網名: 浪子* 作者EMAIL:dayichen (at)163.com* 作者BLOG: Http:/
Time of Update: 2018-12-08
如果你懶得去看那些很長很長的例子,不妨看看下面這個小例子,這個例子能讓你對測試驅動開發有一個直觀的瞭解.最起碼讓你知道測試驅動開發是一種開發技術而不是一項測試的技術 Fibonacci 數列,呵呵可能有不少人都忘了怎麼編的了吧,那正好帶你看看tdd的威力測試驅動開發,那麼測試先行是必然的了. 第一個測試來了public void testFibonacci()//不要以為這是junit,nunit也可以這樣寫,而不是非要用屬性哦,不信你試試{ AssertEquals(0,Fib(0));}
Time of Update: 2018-12-08
Time of Update: 2018-12-08
Castle.MVC目前還在Castle的Sandbox中,只是在原始程式碼控制中有,還沒有向外發布版本,這裡介紹多時Web的MVC,和Castle的MonoRail相比較,這個MVC可以Asp.Net的事件驅動開發和WebControl所見及所得的開發模式。對Castle.MVC做一下分解,其構成主要有: View――這個就不多做解釋了,頁面的CS類如果要實現其導航功能,就繼承此類,Castle.MVC提供了3種View:WebFormView:繼承Page類和IView介面,所有的Web
Time of Update: 2018-12-08
本文編譯自J2EE的相關文檔。MVC(Model-View-Controller)應用程式結構被用來分析分布式應用程式的特徵。這種抽象結構能有助於將應用程式分割成若干邏輯組件,使程式設計變得更加容易。