Time of Update: 2018-12-07
[導讀][設計模式整理筆記 一] 基礎知識[設計模式整理筆記 二] 簡單原廠模式(Simple Factory)[設計模式整理筆記 三] 原廠模式(Factory)[設計模式整理筆記 四] 抽象原廠模式(Abstract Factory)[設計模式整理筆記 五] 建立者模式(Builder)[設計模式整理筆記 六] 原廠模式與建立者模式總結[設計模式整理筆記 七] 原型模式(ProtoType)[設計模式整理筆記 八] 單例模式(Singleton)[設計模式整理筆記
Time of Update: 2018-12-07
板橋裡人 http://www.jdon.com 2007/9/23(轉載請保留) 我們知道:一個軟體從無到有需要經過如下幾個階段:分析、設計、編程、調試、部署和運行。
Time of Update: 2018-12-07
只能輸入數字:"^[0-9]*$"。
Time of Update: 2018-12-07
最近買了幾本SQL2005的書, 看到書中有些比較經典的問題列記出來, 方便日後工作尋找。這本書是<<SQL Server 2005 進階程式設計>> 美國:Robert Vieira著, 董明等譯。一本十分基礎的書。 Inner join, left join, right jion的區別 表A 表B 通達UserID關聯。 Inner join: A.UserID=B.UserID 取得滿足二個表都有相同的UserID的記錄 left join: A.
Time of Update: 2018-12-07
1、替代inner join, left join(*=), right join(=*) select A.UserID, B.WorkFlowStatus from A ,B B where A.UserID=B.UserID 這樣就可以替代Inner join select A.UserID, B.WorkFlowStatus from A ,B B where A.UserID*=B.UserID 通過*=或=*替代 2、update的多種格式
Time of Update: 2018-12-07
轉自 板橋裡人 http://www.jdon.com 2006/2/19 前言 我們搞技術的有很多誤區,比如經常陷入純技術鑽牛角尖的爭辯,而全然不顧業務情境,技術活做太多,經驗一籮筐,但是有時會疑惑,這些經驗是否適合其他自己沒有經曆過的新系統呢?我們在技術設計路線上走得太久,容易迷失方向,什麼是設計不足;什麼是過度設計,如何把握這個度? 在對待項目上,有一種極端是認為每個項目都是特殊的,不可能和其他項目有共同之處;這算是一種經驗主義吧。
Time of Update: 2018-12-07
1、約束的操作 Cascade, No Action理解 當在建立約束時選上Cascade,或代碼建立時添加ON Delete CASCADE,當在主表刪除一行記錄時, 外表相關聯的記錄都會同時刪除 當在建立約束時選上No Action,或代碼建立時添加ON Delete No Action,當在主表刪除一行記錄時, 如果外表關聯有資料, 則會提示出錯 上面的只是Delete, 其實Update也是一樣的 2、Unique約束 如主鍵一樣,讓一列資料只能有唯一的值
Time of Update: 2018-12-07
1、定義變數與賦值 Declare @UserID --定義變數 Select @UserID=1 --賦值 Set @UserID=1 Select @UserID=UserID from tb_User where UserName='A' --這樣也是可以賦值的, 記得剛學SQL2000不知道這樣是可以 如下: 則通過變數,把值返回, 不需要另外建立表 Declare @UserID int, @UserName varchar(20)
Time of Update: 2018-12-07
對象技術的新手通常不願意在小任務上運用小對象—像是結合數值和幣種的money類,由一個起始值和結束值組成的range類等。你可以使用 Replace Data Value with Object (以對象取代資料值)將原本單獨存在的資料值替換為對象。如果想要替換的資料值是類型碼,而它並不影響行為,則可以運用 Replace Type Code with Class (以類取代類型碼)將它替換掉。如果你有與類型碼相關的條件運算式,可運用 Replace Type Code with
Time of Update: 2018-12-07
客戶通過一個委託類在調用另一個對象。在服務類上建立客戶所需的所有函數,用以隱藏委託關係。動機:“封裝”即使不是對象的關鍵特徵,也是關鍵特徵之一。“封裝”意味每個對象都有應該儘可能少瞭解系統的其他部分。如此一來,一旦發生變化,需要瞭解這一變化的對象就會比較少,這會使變化較容易進行。 如果某個客戶先通過服務物件的欄位得到另一個對象,然後調用後者的函數,那麼客戶就必須知曉這一層委託關係。萬一委託關係發生變化,客戶也得相應變化。你可以在服務物件上放置一個簡單的委託函數,將委託關係隱藏起來,
Time of Update: 2018-12-07
你有一個字面數值,帶有特別含義。建立一個常量,根據其意義為它命名,並將上述的字面數值替換為這個常量。動機:在計算科學中,魔法數是曆史悠久的不良現象之一。所謂魔法數是指擁有特殊意義,卻又不能明確表現出這種意義的數字。如果你需要在不同的地點引用同一個邏輯數,魔法數會讓你煩惱不已,因為一旦這些數發生變化,你就必須在程式中找到所有魔法數,並將它們全部修改一遍。就算你不需要修改,要準確指出每個魔法數的用途,也會讓你頗費腦筋。
Time of Update: 2018-12-07
你想要把某個演算法替換為另一個更清晰地演算法。將函數本體替換為另一個演算法。 string FoundPerson(string[] people) { for (int i = 0; i < people.Length; i++) { if (people[i].Equals("don")) { return "don";
Time of Update: 2018-12-07
某個類做了過多的簡單委託動作。讓客戶直接調用受託類。動機:在Hide Delegate (隱藏委託關係)的“動機”中,談到了“封裝委派物件”的好處。但是這層封裝也是要付出代價的,它的代價是:每當客戶要使用受託類的新特性時,你就必須在服務端添加一個簡單委託函數。隨著委託類的特性(功能)越來越多,這一過程讓你痛苦不已。服務類完全變成了“中間人”,此時你就應該讓客戶直接調用受託類。 很難說什麼程度的隱藏才是合適的。還好,有了Hide Delegate (隱藏委託關係)和Remove
Time of Update: 2018-12-07
你需要為提供服務的類增加一個函數,但你無法修改這個類。在客戶類中建立一個函數,並以第一參數形式傳入一個服務類執行個體。 動機:這種事情發生了太多次了,你正在使用一個類,它真的很好,為你提供了需要的所有服務。而後,你又需要一項新服務,這個類卻無法供應。於是你開始咒罵“為什麼不能做這件事?”如果可以修改源碼,你便可以自行添加一個新函數;如果不能,你就得在用戶端編碼,補足你要的那個函數。
Time of Update: 2018-12-07
Silverlight中的資源一、使用相同組件中的資源檔1、xaml檔案和資源檔目錄同級 用image樣本 <Image x:Name="Image1" Source="Images/xxx.png" /> Images檔案夾和MainPage.xaml檔案在同級目錄中 2、xaml檔案和資源檔夾不同級 <Image x:Name="Image1" Source="../Images/xxx.png"
Time of Update: 2018-12-07
某個子類只使用超類介面中的一部分,或是根本不需要繼承而來的資料。在子類中建立一個欄位用以儲存超類;調整子類函數,令它改而委託超類;然後去掉2者之間的繼承關係。動機:繼承是個好東西,但有時候它並不是你要的。你常常會遇到這樣的情況:一開始繼承了一個類,隨後發現超類中的許多操作並不真正適用於子類。這種情況下,你所擁有的介面並未真正反映出子類的功能。或者,你可能發現你從超類中繼承了一大堆子類並不需要的資料,抑或你可能發現超類中的某些protected函數對子類並沒有什麼意義。
Time of Update: 2018-12-07
若干函數做了類似的工作,但在函數本體中卻包含了不同的值。建立一個單一函數,以參數表達那些不同的值。動機:你可能會發現這樣的2個函數:它們做著類似的工作,但因少數幾個值致使行為略為不同。這種情況下,你可以將這些各自分離的函數統一起來,並通過參數來處理那些變化,用以簡化問題。這樣的修改可以去除重複代碼,並提高靈活性,因為你可以用這個參數處理更多的變化情況。做法:1、建立一個帶有參數的函數,使它可以替換先前所有的重複性函數。 2、編譯。 3、將調用舊函數的代碼改為調用新函數。
Time of Update: 2018-12-07
你在2個類之間使用委託關係,並經常為整個介面編寫許多極簡單的委託函數。讓委託類繼承受託類。動機:本項重構與Replace Inheritance with Delegation (以委託取代繼承)恰恰相反。如果你發現自己需要受託類中的所有函數,並且花費很大力氣編寫所有極簡單的委託函數,本重構可以協助你輕鬆回頭使用繼承。 2條告誡需牢記與心:首先,如果你並沒有使用受託類的所有函數,那麼就不應該使用Replace Delegation with Inheritance (以繼承取代委託)
Time of Update: 2018-12-07
1、 事務 begin tran開始事務, commit tran提交事務, rollback tran復原事務, save tran儲存事務 前面三個十分熟悉, 最後一個save tran要好好理解與研究 其實save tran 儲存點的名稱, 就是一個書籤標誌, 像很多種操作在一個事務中的時候, 一個事務也分第一步第二步第三步..., 如果第一步沒錯, 第二步出錯, 需要復原, 這樣在第一步與第二步 之間添加一個save tran FirstStep, 通過rollback
Time of Update: 2018-12-07
文章目錄 jQuery外觀效果 轉載:http://sd.csdn.net/a/20110117/290282.html jQuery事件處理ready(fn)Js代碼1. $(document).ready(function(){ 2. // Your code here... 3. }); $(document).ready(function(){// Your code