Padrão de design JavaScript (1) - modo simples

  A definição de modo singleton é garantir que uma "classe" tenha apenas uma instância e fornecer um ponto de acesso global para acessá-la. 

  A classe do modo singleton é uma variável que só precisa ser criada uma vez (isso não significa que não possa ser alterada após ser criada), então precisamos de um método geral para determinar se uma classe foi criada, basta passar um Bloqueie para determinar se esta classe foi criada. Portanto, primeiro apresentamos um método geral de criação de padrão singleton, o código é o seguinte:

<script type="text/javascript">
	// 我们把业务逻辑封装在fn里通过变量的形式传入
	function createSingle(fn){
		let lock = null
		// 我们用闭包把lock保存下来
		return function(){
			return lock || lock = fn.apply(this,arguments)
		}
	}
</script>

  Quando precisamos de um objeto único, escrevemos uma função para criar o objeto nós mesmos e o entregamos ao modo singleton

var createObj = function(a,b){
	return {
		a:a,
		b:b
	}
}
let singleObj = createSingle(createObj) //生成单例模式
console.log(singleObj('aaa','bbb')) //{a:'aaa',b:'bbb'}
console.log(singleObj('ccc','ddd')) //{a:'aaa',b:'bbb'}

  Muitas vezes usamos o modo singleton em JavaScript, mas não percebemos. Por exemplo, se você criar uma variável a e não recriar uma variável no código por trás, podemos pensar em a como um modo singleton, mas Não diremos assim, então, quando digo que aprender padrões de projeto é dar um nome ao seu código, não há uso soft, na verdade.

Acho que você gosta

Origin blog.csdn.net/dkr380205984/article/details/108601791
Recomendado
Clasificación