設計模式 常用的設計模式介紹

2021-09-11 16:10:08 字數 3321 閱讀 9357

簡單點說,就是乙個應用程式中,某個類的例項物件只有乙個,你沒有辦法去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種模式 ...