單列設計模式

2021-09-11 05:17:52 字數 2423 閱讀 9131

設計模式的概念::

所謂的設計模式就是為了提高**的重用性,優雅性,

實現高內聚低耦合,以及滿足開閉原則提出的開發思想,

目前成熟的設計模式有23種,

其中如下的幾種我們需要掌握的:

單例設計模式,工廠設計模式(簡單工廠,方法工廠,抽象工廠)

**設計模式(靜態**,動態**(jdk原生**實現,

cglib實現)),介面卡設計模式,模板設計模式,

裝飾者設計模式

單例設計模式:

如果要求某乙個類在程式的一次執行或者乙個執行著容器(後面的概

念,比如說tomcat容器,spring容器)中只產生乙個物件,此時就需

要使用單列設計模式來控制物件的例項化個數

以上的**例項化的物件是五個,此時要求自愛本次程式的執行中只產生乙個物件應該怎麼取操作呢?

之所以能在主方法中例項化singleton類物件是因為能呼叫singleton類的構造方法,如果將該類的構造方法私有化,之後就不能在主方法中例項化該類物件

構造方法私有化:

此時就不能在主方法中呼叫singleton類的構造方法了,如何取得該類物件呢?

既然在singleton類的外部不能呼叫構造方法,那麼就在本類中例項化本類物件,之後將本類物件儲存到乙個靜態屬性中

package com.sxt;

public

class

test

}class

singleton

;//構造方法私有化

以上本類物件就儲存報了靜態屬性,靜態屬性是全域性變數,是共享的,所以在主方法中多次取得物件都是同乙個,但是我們說過,在開發中類的屬性盡量使用private封裝,之後為封裝的屬性提供乙個方法供給外部呼叫

package com.sxt;

public

class

test

}class

singleton

;//構造方法私有化

private

static final singleton instance

=new

singleton()

;//提供乙個方法方位instance屬性

以上singleton類就是乙個單例設計模式的雛形

總結:單例模式的特徵

1.構造方法私有化

2.在本類中例項化本類物件並且儲存到乙個靜態屬性中

3.該靜態屬性要封裝

4.為該屬性提供乙個靜態方法供給外部使用

單例設計模式又分為了懶漢式和餓漢式,以上**就是乙個餓漢式,它們之間的區別?

總結:

1、單例設計模式是讓某個類在程式的一次執行中或者

乙個執行的容器中只產生乙個物件

2、單例模式特徵:

•構造方法私有化

•將本類物件儲存到乙個靜態屬性中

•提供乙個靜態方法取得本類物件

•單例設計模式分為了懶漢式和餓漢式

單列模式設計

1.單列 singleton 模式是最簡單的設計模式,它允許乙個類有且僅有乙個例項的方法。include using namespace std class singleton singleton operator singleton singleton const singleton public...

設計模式 單列模式

何為設計模式呢?簡單的說就是能重複利用的解決方案,當碰到a專案也出現這種情況,b專案也出現這種情況 那麼是否能把這懂實現功能抽象出來,形成一種解決方案.單列模式 顧名思義就是乙個例項 即乙個物件只能初始化一次 作用 減少開闢記憶體空間,節約記憶體開銷 class program 因為a物件在記憶體堆...

設計模式 單列模式

原文 單例模式是最常用到的設計模式之一,熟悉設計模式的朋友對單例模式都不會陌生。一般介紹單例模式的書籍都會提到餓漢式和懶漢式這兩種實現方式。但是除了這兩種方式,本文還會介紹其他幾種實現單例的方式,讓我們來一起看看吧。單例模式是一種常用的軟體設計模式,其定義是單例物件的類只能允許乙個例項存在。許多時候...