-どのように、そして彼はシングルトンでもありますか?そして、私は彼が正常だと思いました!
-シングルトン、メディエーター、デコレーター、さらにはプロトタイプという言葉は、コードの方向性とは何の関係もないと何度も言えますか?
(喫煙者を呼び出して通常のプログラマーを呼び出す会話)
みなさん、こんにちは、私はよマキシムKravets、HolywebウェブエンジニアリングチームのCEO、JavaScriptの達人。そして今日はデザインパターンについてお話したいと思います。
小さなコードを見てみましょう。
@Injectable()
export class SomeClass implements SomeInterface {
private currentData: Data
setData() {
this.currentData = new Data()
}
, : « decorator SomeClass Dependency Injection, setData Builder new currentData ...»
. , , . , , . — . — , . .
— . , — . , « ». , — , . ( Singleton).
. . ,
Singleton — - , . :
:
,
, :
public static getInstance(): SingletonClassName {
!instance ? instance = new SingletonClassName : instance
}
, ? ! , ! , …
(), ( ) , ( , ). — 100 ().
( ) 100 . , , 100 . , …
, )) , . , () ? ? .
( ) . , - — . ? — ! , (). (), ( ...), (... ).
, , . , .
. .
Singleton — (), , () , .
//
class DataBase {
// Singleton-
private static instance
// ,
// new
private constructor() {
//
….
// ,
this.instance = null
}
//
// , Singleton-
public static getInstance() {
if ( this.instance === null ) {
// ,
this.instance = new DataBase()
}
// ,
return this.instance
}
// query
//
public getQuery(payload) {
//
...
}
}
//
class AppModule {
//
Data() {
//
let foo = DataBase.getInstance()
let bar = DataBase.getInstance()
// foo ,
// bar
foo.getQuery("SELECT ...")
bar.getQuery("SELECT ...")
}
}
, Singleton , , , Singleton , .
Singleton — TypeScript, , .
, Singleton , « » — , . , , , .
Singleton, , , , TTD.
? , ! , , . , (DI), ( Singleton) , .
. . , ?
. Singleton — , . . , , , . Singleton. , :
|
|
. |
. |
. |
. |
. |
. |
, Singleton «» . , Singleton. Singleton.
, , . , , : Telegram @maximkravec.
追加するものはありますか?コメントを残してください!記事をより良くするために、最も興味深いものを記事に追加します。