簡單點說,就是乙個應用程式中,某個類的例項物件只有乙個,你沒有辦法去new,因為構造器是被private修飾的,一般通過getinstance()的方法來獲取它們的例項。getinstance()的返回值是乙個物件的引用,並不是乙個新的例項
/**
* 懶漢式(執行緒不安全)
*/public class singleton
public static singleton getinstance()
return singleton;}}
/**
* 懶漢式(執行緒安全)
*/public class singleton2
/*** 使用了synchronized關鍵字
* @return
*/public static synchronized singleton2 getinstance()
return singleton;}}
/**
* 餓漢式
*/public class singleton3
public static singleton3 getinstance()
}
/**
* 靜態內部類寫法
*/public class singleton4
private singleton4()
public static singleton4 getinstance()
}
/**
* 雙重校驗鎖
*/public class singleton5
public static singleton5 getinstance() }}
return singleton;}}
// 抽象產品類
abstract class car
// 具體實現類
class benz extends car
public void stop()
}class ford extends car
public void stop()
}// 工廠類
// 抽象產品角色
public inte***ce moveable
// 具體產品角色
public class plane implements moveable
}public class broom implements moveable
}// 抽象工廠
public abstract class vehiclefactory
// 具體工廠
public class planefactory extends vehiclefactory
}public class broomfactory extends vehiclefactory
}// 測試類
public class test
}
//抽象工廠類
public abstract class abstractfactory
//具體工廠類,其中food,vehicle,weapon是抽象類,
public class defaultfactory extends abstractfactory
@override
public vehicle createvehicle()
@override
public weapon createweapon()
}//測試類
public class test
}
物件間一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。
public inte***ce person
public class laowang implements person
@override
public void getmessage(string s)
}
public class laoli implements person
@override
public void getmessage(string s)
}
老王和老李都喜歡小美,並且都實現了person介面
這天,小美給執行了乙個方法,老王和老李都收到了資訊
public class xiaomei
public void addperson(person person)
//遍歷list,把自己的通知傳送給所有暗戀自己的人
**模式給某乙個物件提供乙個**物件,並由**物件控制對原物件的引用。通俗的來講**模式就是我們生活中常見的中介。
/**
* **介面
*/public inte***ce proxyinte***ce
/**
* **類
*/public class weddingcompany implements proxyinte***ce
@override
public void marry()
}
/**
* 客戶類
常用的設計模式 介紹
本文將會用最直白的話記錄常用的設計模式的 思路,但是基本不會給出實現 mvc 模式 mvc model view controller 模型 檢視 控制器 設計建立 web 應用程式的模式。他的核心思路是在後端已經將 的資料全部處理好,然後全部推送到前端進行資料的展示,前端只負責資料的顯示,並不關心...
設計模式介紹
我的設計模式入門是head first pattern,可以說是比較好的入門書籍,教程上講解了常用的設計模式,並不全面。作為入門足夠,通俗易懂。設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。使用設計模式的目的 為了 可重用性 讓 更容易被他人理解...
設計模式介紹
1 簡介 設計模式是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。毫無疑問設計模式於己於他人於系統都是多贏的 設計模式使 編制真正工程化 2 分類 1 建立型模式 通常和物件的建立有關,涉及到物件例項化的方式。共5種模式 ...