flutter 設計模式 單例模式

2021-09-28 20:45:29 字數 1470 閱讀 1434

效果: 單例模式.無論建立多少個例項,都只返回同乙個例項. 只暴露你想暴露的公共成員和方法.(此處公共成員為:instancevar,公共方法為instancefun)

使用場景:一般是用在系統間各種模式的通訊協調上或者在整個系統中只會使用一次的模組中.

準確來說,此單例模式是使用dart編寫,用dart作為標題更好,不過flutterdart是一家,不用分彼此。

import

'package:flutter/material.dart'

;class

page

extends

statelesswidget):

super

(key: key)

;@override

widget build

(buildcontext context)

}/// 單例模式.無論建立多少個例項,都只返回同乙個例項

class

mysingleton

/// 靜態方法,直接通過類方法呼叫 mysingleton.instancestaticfun()

static

instancestaticfun()

/// mysingleton._internal() 在factory建構函式設定 start變數 後僅呼叫一次。

static

final mysingleton _singleton =

newmysingleton._internal()

;/// 只有使用 static 標識的靜態成員,才可以在factory函式中被賦值初始化.

factory mysingleton

(num startparam)

mysingleton.

_internal()

else}}

// 無論如何初始化,取到的都是同乙個物件

class

mysingleton

static mysingleton _getinstance()

return _instance;

}/// 非靜態方法,通過例項建立後使用

instancefun()

}///呼叫

// mysingleton manager = new mysingleton();

// mysingleton manager2 = mysingleton.instance;

優化: 當我們建立單例時,就會立即執行初始化。如何做到建立時不執行初始化,只有使用時才初始化呢?

--------------如果文章對你有用,請右上角點讚/收藏,謝謝-------------

Flutter 單例模式

介紹 確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。實現普通實現class singleton 返回例項 return instance 利用getter實現class singleton return instance 利用工廠建構函式factory實現class singlet...

設計模式 單例模式

單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...

設計模式 單例模式

class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...