Time of Update: 2018-12-06
《WCF揭秘》那本爛書的Sample版本太低,我重寫了一個:基於這個WCFCustomChannelSolution0.zipChennelFactory:WCFCustomChannelSolution1.zipChannelListener: System.ServiceModel.Channels命名空間下:IInputChannel 相當於IsOneway=trueIOutputChannelIRequestChannel
Time of Update: 2018-12-06
本章繼續描述剩下的沒有涉及過的表。為此,建立單獨的程式來說明每個不同的表。最後,在本書的最後一章,把它們放入一個單獨的程式中,其中每一個表都是交叉引用的。表4-1本章的第一個程式使用了Fields表。在b.cs檔案中輸入下面的代碼並編譯該檔案。Fields表b.cs a.cs
Time of Update: 2018-12-06
Facade簡化並提供了對基礎架構的統一訪問,從而減少複雜性。它只是封裝,可以看成黑盒。在Web編程中,有所謂的n-層架構,就是Facade的思想,即每一層都封裝好一部分功能,提供給上一層統一的方法調用,比如說資料層,將操作一次資料庫的整個過程封裝為一個方法,而我們在邏輯層調用該方法時,只需要傳遞一個SQL參數:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
4.2 瓷磚問題能不能鋪是比較簡單的。用1*2 去鋪 N*M,看得是N*M是奇數還是偶數。用p*q的瓷磚覆蓋M*N的地板的充要條件是: 1。第一行和第一列可以被覆蓋 2。m可以被p整除並且n可以被q整除http://computer.mymang.cn/algorithm/106-1098926.html 再有就是有幾種鋪法的問題了。對於用1*2去鋪2*M,居然鋪出了Fabonacci數列:關鍵是第一塊磚,橫著放,還剩下F(M-2);豎著放,還剩下F(M-1);合計F(M)=F(M-1
Time of Update: 2018-12-06
聽說,圖靈出版社的劉江主編要兼任《程式員》雜誌的名譽主編了。 我來潑盆冷水吧,這是個換湯不換藥的事。 《程式員》,就像一個病入膏肓的垂死之人,還是別治了,打一針安樂死好了。不是我奚落你們,現在這本雜誌就連我們複旦學生辦的《複旦人周報》也還不如。 有人出主意說,把雜誌上的廣告刪了,那簡直是扯淡。照我看,整本《程式員》也就廣告做得好,放在開頭結尾,絕不討厭;而且廣告的創意都很不錯,這是唯一值得肯定的地方。 雜誌這東西,我在大學玩過,那時候我有一批同學死黨,從手繪美工到編輯排版,那陣式不比
Time of Update: 2018-12-06
代碼實現如下,注意幾點:1.Decorator中的Operation()方法是對被修飾對象ConcreteComponent中方法Operation()的封裝2.ConcreteDecorator中的Operation()方法是對其父類Operation()方法的封裝,同時加入一些額外的新方法3.ConcreteDecorator中的建構函式負責將修飾與被修飾對象連結在一起,如: public interface Component { void Operation()
Time of Update: 2018-12-06
編者按:包建強,有“豬王”之雅號,火槍隊隊長。以雷厲風行的作風贏得“二十一個半”的擁護,但又以其放蕩不羈的性格招來不少非議。毀譽參半,他的傳記極為難作,但若由其死黨王劉馮陸等去寫,未免失之偏頗。胡曉俐者,“豬王”的頭號“仇人”。與其恩恩怨怨一年有餘,因此,能較公允地為他立傳。於是,嬉笑怒罵,盡呈於紙上,令豬王尷尬不已。“全文刊登!”豬王沉思良久,毅然下令。 一隻“Girl不理”的豬 一隻自稱是“豬王”的豬來找我,希望我能寫一點關於他的文字。他以自己慣用的伎倆來遊說我說:“這是我最後一次找你幫忙
Time of Update: 2018-12-06
謝池春·被遺忘的國度 --千山 詞數盡風流,誰見此中甘苦。任才高,悲歡幾許。青絲白髮,看韶華西去。笑癡人,莫來虛度。平湖波蕩,卻是腥風血雨。望中原,刀橫劍舞。撥雲開霧,問英雄何處。歎其間,淚傾如注。 楔
Time of Update: 2018-12-06
看這一節的時候,建議讀者同時參考上一節——註冊工廠。Flyweight是個好東西,我用過兩次,都是在C/S程式中畫畫。在台資公司那次,是跟新來的雲大Master賭氣時做的,我用了3個享元就類比了240台機器,而他則挪了240個Button在上面,我用一個晚上時間為我的母校捍衛了榮譽,然後毅然離職,以證明Boss的有眼無珠。爽啊!另一次,是我在家裡悶頭寫一套開源項目,線上遊戲大廳,在打牌的時候實現的:為了顯示手中的13張牌。更新:2008.10.29Flyweight其實就是不變模式和註冊工廠的組
Time of Update: 2018-12-06
This projext named GameHall is a platform that allow users to plying card and the chess. It cost me one and a half month to finish it.The primary techniques are:1st base on C# TCP Socket asynchronism multithreading.2nd nearly 60 protocols define
Time of Update: 2018-12-06
什麼是球迷?球星名單倒背如流,頂級球隊登頂膜拜,陣形戰術侃侃而談,或許都是衡量的標準,可惜我們的樊亞彬(以下簡稱彬彬)算是"ALL-FAIL"了。分不清碧咸與羅納爾多也就罷了,即使是一個偽球迷,至少也應該愛護球吧!彬彬甚至連球都屢屢踢爆,跑到N遠去撿球的我,卻發現足球已經漏了氣,氣得我和球一起在心裡罵他,"下輩子你也投胎變足球"。可他卻仍試圖解釋他的無辜:"不是我的錯,是愛犯的錯--要不是昨晚一隻蚊子和我親熱……"辯解時明顯底氣不足,但依舊能感受到他的舉世聞名的大嗓門。"喂,包子,女朋友找到了嗎
Time of Update: 2018-12-06
奇怪了,SL居然不顯示datagrid,於是調試調試再調試,測WCF、測ViewModel,測,最後把代碼搬家到WPF,居然可以了。於是下斷點到一輩子也不會注意的InitializeComponent函數。public DynamicGridView(){ InitializeComponent(); 見鬼了,要是這樣的原因就見鬼了。但更奇怪的是],根本就不會執行到這裡。於是,看View的另一個建構函式,k,居然把this寫成了base,都怪我手欠。public
Time of Update: 2018-12-06
這個也說模式,那個也說模式,老實說,沒有一個把全部23個都講明白的,除了GOF,畢竟人家是合寫,每人寫他最拿手的幾個,所以人家那本書成功了;至於其他人,大多是只精通其中幾個,於是就出書了,他那些不熟的模式就到網上抄一抄人家的,抄得好還可以,至少讀者能看懂,抄得不好——不說了,跑題了。最近在公司和老虎還有Will每周討論幾個模式,他倆是做c++的,我是做c#的,差別很多,但是在對模式的認識上,只要是oo的,還是有共識的。三周涉及了十個模式,發現討論真是個好東西,比一個人在那裡自己琢磨效果好很多。於
Time of Update: 2018-12-06
Factory 方法模式,就是使一個類的執行個體化延遲到子類——惰性聲明UML圖如下: public class Production { } public abstract class Creator { public abstract Production FactoryMathod(); } public class ConcreteCreator : Creator { public override Production
Time of Update: 2018-12-06
果然是人一紅就要來出傳記,在一個陰雨的安靜的下午,包建強找到我要我給起為做傳記的時候,我只有腦袋不在被子裡,藉著昏暗的檯燈光,包子的臉模模糊糊地愈發像是一個冬瓜了。我跟王起為算是老相識了。我到複旦來報到的頭一天,正在悶頭拉帳子的時候,一抬眼看見了雙手插在袋裡,站在門口呈酷狀的起為。他是一個普通的胖子,有著方方的步伐和傻傻的笑顏,我想,這一定就是我的未來室友了,看起來還蠻和順的。起為動動嘴唇想要說些什麼的時候,他的父親從背後扛著很多東西喘著走了進來,也是胖胖的,殘留著一點年輕時候帥氣的痕迹。他停
Time of Update: 2018-12-06
Singleton的出現,取代了C++中全域變數——這個破壞OO封裝性的概念。使用場所:控制Socket通訊,寫日誌,簡單工廠。實現Singleton的三個要點1.私人化建構函式2.儲存執行個體的靜態私人變數3.訪問這個執行個體的公用靜態方法實現如下: public class CSingleton { private static CSingleton mySingleton = null; private CSingleton() {
Time of Update: 2018-12-06
這個模式是對簡單工廠的更高層次上的抽象,UML圖如下: public abstract class AbstractFactory { public abstract AbstractProductA CreateProductA(); public abstract AbstractProductB CreateProductB(); } public class ConcreteFactory1 : AbstractFactory {
Time of Update: 2018-12-06
算起來,包子約稿快三個星期了。這小子,閑著沒事兒就往樓上跑,說什麼黃河的文章太爛,說什麼只要我出山就一定能轟動數學系……我深知自己只有老舍水平,離魯迅呢,還是有些距離的,因此,一向謙虛的我,開始並沒有答應。到後來,包子對我威逼利誘軟硬兼施,甚至連何婉薇都不放過--真不給我面子!被他搞得實在反死了。哎,只好出賣我的親密戰友,和我一起生活學習、一起吃飯泡吧的王起為了,把他的風流韻事公布一些於眾。起為別怕,只有兩三件……剛入學的時候要體檢,其中一項是驗肝功能。起為由於體胖,與黃河都嚴重超標,那時,有種
Time of Update: 2018-12-06
反射工廠是.NET專屬的,因為它基於反射機制,可以用來簡化工廠類。 public static object CreateByReflection(string strType) { Type t = Type.GetType(strType); ConstructorInfo ci = t.GetConstructor(System.Type.EmptyTypes); return ci.Invoke
Time of Update: 2018-12-06
簡單又實用的模式,引用+封裝有兩種適配器,1.類適配器 只要有介面,就可以使用:繼承一個類,實現另一個介面,在介面中封裝繼承的方法,對外表現為介面方法2.對象適配器 對於兩個類,繼承一個類A,引用另一個類B(在ctor中講B的對象傳遞過去) 對A中的方法重寫new/override,在方法中封裝B的方法 對於一個介面一個類,也適用