文字によるセキュリティ、またはシングルトンパターンに関するもう少しの言葉

-どのように、そして彼はシングルトンでもありますか?そして、私は彼が正常だと思いました!





-シングルトン、メディエーター、デコレーター、さらにはプロトタイプという言葉は、コードの方向性とは何の関係もないと何度も言えますか?





(喫煙者を呼び出して通常のプログラマーを呼び出す会話)





みなさん、こんにちは、私はよマキシム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





追加するものはありますか?コメントを残してください!記事をより良くするために、最も興味深いものを記事に追加します。








All Articles