Time of Update: 2017-02-27
裝飾模式(Decorator)也叫封裝器模式(Wrapper)。以“裝飾”的含義生動形象地描繪了“動態地給一個對象添加一些額外的職責”的意圖。GOF在《設計模式》一書中給出的定義為:動態地給一個對象添加一些額外的職責。裝飾模式充分利用了繼承和彙總的優勢,創造出無與論比的設計美學。就增加功能來說,Decorator模式相比產生子類更為靈活。UML圖:一、使用Decorator模式的動機現在有這樣一個情境,要求我們為一個對象動態添加新的職責,這個職責並
Time of Update: 2017-02-27
根據基於SOA的服務不同,對SOA策略的定義也多種多樣,從商業運作、服務等級管理、控制部署,到安全等等。一般來說,SOA策略管理能夠從兩個角度來增添價值:它允許基於SOA的服務根據商業變更作出更快?SOA策略管理是一種向面向服務架構戰略中注入靈活性和商業價值的進階方式,IT管理者必須要瞭解SOA策略生命週期中的主要特徵,才能協助你更好地進行控制。根據基於SOA的服務不同,對SOA策略的定義也多種多樣,從商業運作、服務等級管理、控制部署,到安全等等。一般來說,SOA策略管理能夠從兩個角度來增添價值
Time of Update: 2017-02-27
1概述在進行系統設計時,除了對安全、事務等問題給與足夠的重視外,效能也是一個不可避免的問題所在 ,尤其是一個B/S結構的軟體系統,必須充分地考慮訪問量、資料流量、伺服器負荷的問題。解決效能的 瓶頸,除了對硬體系統進行升級外,軟體設計的合理性尤為重要。對於一些即時性不是很高的模組我們可 以使用了Microsoft Messaging Queue(MSMQ)技術來完成非同步處理,利用訊息佇列臨時存放要操作的資料
Time of Update: 2017-02-27
簡介:隨著多核處理器成為主流,開發並行程式隨之成為一種必然要求。但是我們都知道並行程式存 在著很大的不確定性,這使得開發與測試並行程式有一定的難度,因此對於並行程式的單元測試變得尤為 重要。但是,建立多線程的單元測試並不容易,測試需要考慮測試線程間的同步,資料共用等。針對 Java 並行程式的測試,結合擴充 JUnit 的多線程測試載入器,本文介紹了一種在整合式開發環境中,建立符 合使用者要求的多執行緒 Apartment測試案例的完整過程,使得使用者只用關心測試本身的邏輯和結果,而不用去瞭解
Time of Update: 2017-02-27
單元測試基礎知識單元測試是開發人員編寫的一小段代碼,用於檢驗被測代碼的一個很小的、很明確的功能是否正確。通 常而言,一個單元測試是用於判斷某個特定條件(或者情境)下某個特定函數的行為。例如,你可能把一 個很大的值放入一個有序list 中去,然後確認該值出現在list 的尾部。或者,你可能會從字串中刪除
Time of Update: 2017-02-27
引子前段時間和一個朋友在MSN上聊到UML,他一聲歎息:“知道UML是好東西但是用不起來。嘗試過,結果領導要求文檔中要充分使用UML,事無巨細皆UML,結果本來很簡單的一份設計文檔加了一堆圖。評審的時候團隊還有牛人指出UML圖中這裡的菱形應該是實心的,那裡的要用半個箭頭… …結果開會大部分時間都在炒圖怎麼畫。領導覺得這也沒帶來什麼好處,同事們樂得擺脫,後來就不了了之了”然後順便抱怨了我一下: “你給我推薦的《UML
Time of Update: 2017-02-27
首先要說明兩點:1、本文不是解決一個通用許可權管理系統的方案,只是解決特定環境下的許可權管理問題。本文給出的實際實現方法是基於sql server資料庫的,實現的語言是使用T-Sql語言。當然您可以有更多的實現方式。2、附件給出的資料庫例子沒有經過嚴格測試,不保證邏輯的正確性,以及效能方面的問題。首先需要一個預存程序來實現計算使用者在表單上的許可權,這個預存程序接受兩個參數,使用者ID和表單ID,在這個預存程序裡面使用一條sql語句來計算使用者在表單上的許可權,如下所示:-- =========
Time of Update: 2017-02-27
我們通常在開發web應用過程中,展現層Action的單元測試經常被我們忽視了,主要原因是:1、Action層的商務邏輯比較簡單。大家潛意識認為這一部分的代碼不重要。2、Action層難以類比http請求傳遞參數,需要依賴web容器,因此給單元測試編寫帶來一定的難度。我寫了一個簡單的Action單元測試用例,供大家參考。基於struts的mock和webwork的ActionProxyFactory都可以進行Action的單元測試。我個人比較傾向與ActionProxyFactory做單元測試。其
Time of Update: 2017-02-27
Web服務處於分散式運算的核心位置,它們之間的互動通常很難測試。分布式開發、大型的開發人員團隊以及對代碼日益組件化的期望都有可能使 Web 服務的開發變得越來越容易隱藏錯誤。這些類型的錯誤極難檢測出來。壓力測試是檢測這類代碼錯誤的一種有效方法,但是只有在壓力系統設計得比較有效情況下才能發揮作用。本文將讓您深入瞭解一下這種壓力系統的基本要求。測試方法傳統的測試方法包括某種形式的簡單單元測試,通常由開發人員執行。設計這些測試需要瞭解軟體的內部知識,並且這些測試幾乎總是針對產品的非常小的、特定的部分。
Time of Update: 2017-02-27
從本文開始,我將會開始一個全新系列的文章——《Seam系列》。如果有關心我的部落格的朋友,應該知道早前一年多的時間我都使用Seam使用開發項目,可以算得上是略有小成。因此,我很希望與大家分享一下Seam的經驗。為什麼要使用Seam這個問題Seam的官方文檔以經做了很好的回答。為了方便不喜歡看文檔的朋友(不過,可以負責任地告訴你“這不是一種好習慣!”
Time of Update: 2017-02-27
項目中經常遇到這樣的問題,寫好的模組,由於需求的變更,資料庫欄位進行了修改,邏輯也有些變更,於是乎,在一大堆代碼修改後,進行運行介面開始測試。無奈一次不可能寫對所有的邏輯,或者連字號都拼錯。尤其是做B/S系統的時候,調試好一個功能,往往花費你大量的時間。而且,有更改的話,還要重來一遍,如果遇上些關聯關係,調試測試就更加複雜了。並且,在項目做了N個模組後,又修改了一個功能,說實話,天知道其他邏輯是否產生BUG了沒,呵呵。所以,引進單元測試還是很有必要的,合理使用,還是很能夠改進代碼品質。看似COD
Time of Update: 2017-02-27
分析原則:1. 具體問題具體分析(這是由於不同的應用系統,不同的測試目的,不同的效能關注點)2. 尋找瓶頸時按以下順序,由易到難。伺服器硬體瓶頸 網路瓶頸(對區域網路,可以不考慮) 伺服器作業系統瓶頸(參數配置) 中介軟體瓶頸(參數配置,資料庫,web伺服器等) 應用瓶頸(SQL語句、資料庫設計、商務邏輯、演算法等)分析的資訊來源:1. 根據情境運行過程中的錯誤提示資訊2. 根據測試結果收集到的監控指標資料一.錯誤提示分析分析執行個體:1.Error: Failed to
Time of Update: 2017-02-27
上篇 中描述了針對第一個問題的思考, 在寫的過程中幾個關鍵詞逐漸引起了我的注意, 本篇就讓它們登台吧 , 它們是: 現在項目的套路及缺點, 資料庫實現商務邏輯, 程式設計的美.先看第一個, 即現在項目的套路及缺點.雖說現在所項目還是不很多, 但對項目所用架構和技術還是有一定瞭解的. 現在是B/S流行的時代,我們這裡 也只討論Java實現B/S可選擇的技術. 項目大都有三層, 也可以說五層. 三層是純Java的三層, 五層是包括了數 據庫和HTML_CSS_JavaScript後的說法.
Time of Update: 2017-02-27
[關鍵字]:java,design pattern,設計模式,《Java與模式》學習,decorator,裝飾模式[環境]:StarUML5.0 + JDK6[作者]:Winty (wintys@gmail.com)[本文]: package pattern.decorator; /** * 裝飾模式:Decorator Pattern * @version 2009-6-5 * @author Winty(wintys@gmail.com) */ public class
Time of Update: 2017-02-27
概述:Factory Method模式是應用最為廣泛的設計模式,畢竟他負責了一系列對象的建立,而對象的建立正是物件導向編程中最為繁瑣的行為。GOF在《設計模式》一書寫到,“Factory Method模式使一個類的執行個體化延遲到子類。”準確的說,Factory Method模式是將建立對象執行個體的責任,轉移到了工廠類中,並利用抽象原理,將執行個體化行為延遲到具體工廠類。意圖:定義一個用於建立對象的介面,讓子類決定將哪一個類執行個體化。Factory
Time of Update: 2017-02-27
一、模式概述從設計模式的類型上來說,簡單原廠模式是屬於建立型模式,又叫做靜態Factory 方法(Static Factory
Time of Update: 2017-02-27
一. 模式概述摸板方法(Template
Time of Update: 2017-02-27
在alert檔案中,我們可能會看到這樣的報錯資訊:Wed Aug 20 17:16:37 2008ORA-1652: unable to extend temp segment by 128 in tablespace DBA_TEMP要解決這個問題,我們首先要導致這個問題的SQL,可能方法有幾種:1、設定eventsalter system set events '1652 trace name errorstack level
Time of Update: 2017-02-27
在Oracle資料庫中進行排序、分組匯總、索引等到作時,會產生很多的臨時資料。如有一張員工資訊表,資料庫中是安裝記錄建立的時間來儲存的。如果使用者查詢時,使用Order
Time of Update: 2017-02-27
今天發現暫存資料表空間達到15G,但使用率才2%不到,回收一下SQL> alter database tempfile 'd:\oracle\oradata\ynrmdb\temp01.dbf' resize 2048M;alter database tempfile 'd:\oracle\oradata\ynrmdb\temp01.dbf' resize 2048M*ERROR 位於第 1 行:ORA-03297: 檔案包含在請求的 RESIZE