介绍

在软件系统中,有时会遇到一个复杂的对象,它通常由子对象的各个部分组成,具有一定的算法;由于需求的变化,复杂对象的每个部分都经常面临着剧烈的变化,但将它们组合在一个相对稳定的算法中,如何处理这种变化呢我们如何提供一种包装机制来隔离复杂对象各部分的变化,以使系统中稳定的构造算法不随需求的变化而变化这是建筑商要说的模型。

生成器模式将复杂对象的结构与它的表示分离开来,允许相同的构建过程创建不同的表示,也就是说,如果我们使用Builder模式,用户将必须指定需要构建的类型,我们可以得到它们,并且详细的过程和细节不需要知道。

文本

这个模式比较简单,首先在代码上然后解释。

复制代码代码如下所示:

功能getbeerbyid(ID,回调){

使用id来请求数据并返回数据。

AsyncRequest(' ','beer。uriid = + ID功能(RESP){)

调用响应回调

回调(或完成);

});

}

var el = document.queryselector(' #测试);

El.addEventListener(听到咔哒声,getbeerbyidbridge,假);

功能getbeerbyidbridge(e){

GetBeerById(this.id,功能(啤酒){

console.log('requested +啤酒:啤酒);

});

}



根据该表的定义,是回调,如何显示和过程取决于回调函数后得到的数据,回调函数在数据处理时不需要关注的是如何获取数据,同样的例子也可以在jQuery的Ajax方法看,有很多的回调功能(如成功、错误等)的回调是职责分离的主要目的。

jQuery的另一个例子是:

复制代码代码如下所示:

$('bar);



我们只需要传递要生成的HTML字符,而不是传递特定的HTML对象是如何生成的。

总结

该模型主要用于一步一步来建立一个复杂的对象,在这一步是一个稳定的算法,和一个复杂对象的各个部分经常变化,这个过程是建造者模式暴露出来,使模型更灵活的建筑商,建筑商和模式装配过程的解耦和创建特定的组件,所以我们不必担心如何将每个组件。