原创 設計模式之組合模式

什麼是組合模式 組合模式也叫合成模式,用於描述局部和整體的關係 將對象組合成樹形結構以展示“部分-整體”的層次結構,似的用戶對單個對象和組合對象的使用具有一致性。 組合模式的幾個角色 Component抽象構件角色 定義參加組合對象的

原创 設計模式之裝飾器模式

什麼是裝飾器模式(Decorator) 動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式相比生成子類更爲靈活。 裝飾器模式的優點 裝飾類和被裝飾類可以獨立發展,而不會互相耦合。 裝飾模式是繼承關係的一個替代方案 裝飾模式可以

原创 設計模式之橋接模式

什麼是橋接模式 將抽象和實現解耦,使得兩者可以獨立變化 橋接模式的4個角色 Abstraction、Implementor、RedefinedAbstraction、ConcreteImplementor Abstraction:抽象化

原创 設計模式之門面模式

什麼是門面模式(Facade) 門面模式,也叫作外觀模式,是一種常見的封裝模式。 要求一個子系統的外部與內部的通信必須通過一個統一的對象進行。 門面模式提供一個高層次的接口,使得子系統更易於使用。 代碼示例 在我們的日常生活中,通常我們

原创 軟件測試基礎概念

產品說明書:充分挖掘需求,並表達出功能點,隱性的但必須實現的功能 設計方案:架構,數據流示意圖,狀態變化圖,流程圖,註釋代碼,錯誤提示信息 軟件缺陷定義: 1、軟件沒有實現產品說明書宣稱的功能 2、軟件實現了產品說明書宣稱不應有的功能

原创 測試基礎之網站測試

網頁需要測試的基本部分 首先建立狀態表:不同的網頁就是不同的狀態 1、文字 檢查方式參考測試文檔的方式 2、超級鏈接 超級鏈接一定要顯眼、文字鏈接一般有下劃線,鼠標經過鏈接會變成手形指針 如果鏈

原创 如何保證Java對象內部屬性的不可變狀態

很多人看到上面的提問,立刻就會想到 final 關鍵字。但是卻不完全正確。 看如下代碼 private final int a; private final Date date; 示例代碼中分別聲明瞭整型的屬性a,Date型的屬性dat

原创 設計模式之建造者模式

基本概念 建造者模式將一個複雜對象的構建與它的表示分離,使得同樣的過程可以創建不同的表示。 建造者模式內容 建造者模式一般包含以下內容: AbstractBuilder:抽象接口,用於聲明建造某種對象所需要的方法,需要創建哪些部分