Time of Update: 2018-12-03
Time of Update: 2018-12-03
一般的Entity Framework都包括以下一些功能:1、與實體儲存體互動 原因很簡單,資料不能總在記憶體裡,最終還是要存起來,所以,Entity
Time of Update: 2018-12-03
昨天有個朋友問題對mina是否有什麼最佳化的資料,他這邊一個系統壓到500並發就上不去了,開始在看中國好聲音,也沒多想,直接說我這邊沒有。後來中間休息的時候,發現回答的有點問題,心裡覺得其實應該告訴他壓測的tips,找到瓶頸才能知道問題所在,昨晚初略的說了一下,今天把以前的一些經曆回憶一下,貼出來,多少對一些新人有協助。
Time of Update: 2018-12-03
前些天跟一個人聊起我自己的一個系統,我說是delphi做的,他說那太落後了,然後說了一堆,我只能汗。雖然我現在主要在dotnet平台上做事情,但我對delphi還是有感情的,畢竟用了那麼多年,而且至今我覺得從開發速度上來說,至少在案頭系統開發方面,無人能及。Delphi至少有幾個地方還是非常的經典:1、UI組織,Delphi的Form是可以繼承的,這個東東非常有用,在提高開發速度方面簡直就一個神器。2、BDE:這個東東的Query和TUpdateSQL結合,再加上datasource可以跨for
Time of Update: 2018-12-03
如果一個類(CA)的方法存在不同的演算法(F),而這些演算法使用者都可能用到,那麼就可以將這種演算法獨立出來自我演變,既提供一個演算法的抽象介面,再定義具體的演算法類,而CA保持對演算法的一個引用,CA中的方法不直接實現演算法,而是調用使用者所選的演算法類中的演算法來實現,這就是策略模式。也既定義一系列的演算法,把它們一個個封裝起來, 並且使它們可相互替換。本模式使得演算法可獨立於使用它的客戶而變化。 * * | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
Time of Update: 2018-12-03
1)測試資料準備://這是我學習treeview綁定時用的,也隨帶給不是很會用treeview綁定的網友們一個例子.A)層級類,樹形結構.public class Folder { public ObservableCollection<Folder> Children { get; set; } public string A { get; set; } public string B { get; set; }
Time of Update: 2018-12-03
裝飾的含義就是在原有的物件上增加飾品,使得物件能呈現出不同的特徵。當然在類設計中,採用裝飾模式,是用來為類增加新的特徵和行為。結構如下: * * | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| * | Component |<--------------------------------------------------------
Time of Update: 2018-12-03
什麼事情都有良性迴圈和惡性迴圈,工作也是一樣。程式員這份工作更是如此,特別是你如果和我一樣未來只想走P的道路。 昨天晚上老大給我發了一個郵件,關於規劃部門最近在規劃阿軟的未來技術發展,希望能夠提供關於分散式運算的一些想法和Feature,最近也接觸和實踐了一點,就寫了一點自己的想法。老大很驚訝我那麼快就回了郵件,其實在我看來還是和我讀書的時候老師常說的,“機會總是給有準備的人”,就算中五百萬也需要有承受的心理。
Time of Update: 2018-12-03
Author:放翁(文初) Email:fangweng@taobao.com Blog:http://blog.csdn.net/cenwenchu79 其實想說這句話很久了,和很多同事接觸,有時候或多或少的都會發現大家會陷入在自己的一畝三分地裡面. 主要表現得癥狀1. PD的需求就是目標,踏實的實現,不懂的就猜。2.
Time of Update: 2018-12-03
本來打算寫得細些,但最近要換工作,所以比較忙點,而且也覺得沒必要寫那麼多虛的東西,因此這裡不再按照提綱進行,而是從代碼入手,看清Silverlight的互動機制.相依性屬性和附加屬性的基本類都是一樣的,但相依性屬性和附加屬性的用途還是有區別的,相依性屬性更多的是屬性,而附加屬性更多的是擴充,有點類似於類的擴充方法,附加屬性非常重要,很多互動的實現其實都是利用這個特性來實現的,附加屬性為你對現有UI元素進行互動注入提供了切入點。從某種意義上來講,這也是AOP編程的一個典範。相依性屬性的類比可以參見
Time of Update: 2018-12-03
今天比較深入的接觸了一下VS的MVC開發,有點感觸,所以寫點感言。因為接觸不是很久,研究不夠深入,寫這些主要是測試一下自己的技術敏感度,如果下次發現自己寫得不對,其實也是一種提高,所以大家看的時候,就當娛樂吧。我們首先來看看MVC和WebForm:1)首先MVC和webForm還是屬於比較典型的BS程式,所以本質上它們沒什麼區別,理由如下: A)構成:Web的構成是Aspx+CS檔案,MVC是M+ASPX+Controller(CS),其實M相對獨立,傳統的Aspnet也可以擁有這層,
Time of Update: 2018-12-03
上一篇,我們建立了一個可用的模型,但我們也看到了它的不足,下面,我們就來繼續完善這個模型:1、首先,因為委託的目的其實是為了與附加責任類進行互動,而掛接了委託的附加責任類才會收到訊息,從這點來看,是一個非常典型的觀察者模式應用情境,因此我們覺得引入這個模式,好處是觀察註冊有專門的類來負責管理,在這裡是代理類行使這個責任(後面的模型會轉到代理類工廠),二是附加責任類以類的身份參與,而不再是簡單的掛接委託,這樣做的好處是目標類可以更多的瞭解附加責任類,可以在需要的時候對觀察者身份進行鑒別,雖然少些自
Time of Update: 2018-12-03
命令模式的意圖一是將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化;二是對請求排隊或記錄請求日誌,以及支援可撤消的操作。簡略圖如下:命令模式通過對命令的封裝,將命令的請求(調用者Invoker)和執行(接收者Receiver)進行了責任分離,委派給不同的對象,不僅使得調用者和執行者之間實現瞭解耦(命令的請求方就不需要知道接收方的介面,也不需要知道命令是如何執行的具體情況),還使得可以記錄命令的執行記錄,添加執行日誌,使得命令的控制、執行、取消和重做變得容易。Delphi的Acti
Time of Update: 2018-12-03
前一篇我把我自己實現動態封裝的工廠類實現貼了出來,這一篇就來講講為什麼要進行動態代理。理由看起來有以下幾點:1、有的時候我們需要為一些類的方法增加一些額外的責任,因為這些責任是額外的,去改動這些類當然是不好的。 對於這點,大家可以很快的想到用裝飾模式或者代理模式去實現。當然,如果責任固定,而且是事先可預料的,可以在代碼中預先進行處理,例如增加一個
Time of Update: 2018-12-03
1)事務都具有兩面性,技術也是事務,技術也具有兩面性 每項技術都有自己的優勢和劣勢,而且針對不同的應用情境,優勢和劣勢還會發生變化,所以在討論技術的優劣的時候應該確定一個相對統一的應用範圍。2)事務都是環境相關的,技術也不例外
Time of Update: 2018-12-03
接上篇:4、我們知道我們進行動態代理的目的是為了附加責任,也就是在目標類方法執行的時候,我們能增加一些附加的功能。我們前面的模型雖然可以達到這個目的,但通訊資訊不夠。觀察者雖然可以擷取目標類,但無法知道當前執行的方法和參數值,這在有些情況下雖然沒什麼不利,但既然我們的目標其實就是監視目標類的方法的執行,能有目標類執行方法時的方法資訊和當前實際參數的資訊,當然是更好了,為此,我們可以專門增加一個參數型來封裝這些,便於調用統一: public interface
Time of Update: 2018-12-03
前一篇,我們知道可以利用委託和代理來實現為目標類增加額外責任,這裡我們先用一個簡單的例子說明如何去實現.//目標類,有3個公用方法,但由於非虛方法無法繼承,所以能夠切入的只有2個公用虛方法。雖然從生產代理的角度來講,非虛公用方法也可以截獲,//但要求代理類重寫該方法,而一旦重寫,根據方法的調用規則,在用目標類型調用這個方法時,其實是調不到代理類中的這個方法的,所以就沒有機會截獲和監視。public class AClass { public virtual void
Time of Update: 2018-12-03
libevent源碼深度剖析十二——讓libevent支援多線程張亮 Libevent本身不是多安全執行緒的,在多核的時代,如何能充分利用CPU的能力呢,這一節來說說如何在多線程環境中使用libevent,跟原始碼並沒有太大的關係,純粹是使用上的技巧。1 錯誤使用樣本 在多核的CPU上只使用一個線程始終是對不起CPU的處理能力啊,那好吧,那就多建立幾個線程,比如下面的簡單伺服器陣列景。1 主線程建立背景工作執行緒1;2 接著主線程監聽在連接埠上,等待新的串連;3
Time of Update: 2018-12-03
libevent源碼深度剖析八——整合訊號處理張亮 現在我們已經瞭解了libevent的基本架構:事件管理架構和事件主迴圈。上節提到了libevent中I/O事件和Signal以及Timer事件的整合,這一節將分析如何將Signal整合到事件主迴圈的架構中。1 整合策略——使用socket pair 前一節已經做了足夠多的介紹了,基本方法就是採用“訊息機制”。在libevent中這是通過socket pair完成的,下面就來詳細分析一下。 Socket
Time of Update: 2018-12-03
在很多情況下對象之間的互動是很複雜的,在開始設計的時候,你根本不知道它需要互動的對象是誰,是什麼類型。我們知道如果要對象A與對象B之間能相互互動,A與B就會構成相互依賴,如果對象一多,這種依賴就會很複雜,況且很多時候我們都不知道需要互相互動的對象有哪些,因此,在設計的時候也沒辦法考慮這些情況。既然在設計的時候無法預Crowdsourced Security