Open Mardanjan opened 4 years ago
它的优点是可以使用工厂方法而不是new关键字消除对象间的耦合。同时将所有实例化的代码封装在一起,实现代码重复。工厂模式解决了重复创建对象的问题
function factory (name) { var user = new Object() user.name = name return user } mardan = factory ('mardan')
工厂模式需要三个基本步骤,原料投入(传参),加工(创建对象,把接受的参数赋值给对象),成品产出(返回对象)
事件代理又称为事件委托,是JavaScript中常见的事件的绑定方式,顾名思义‘事件代理’就是把原本需要绑定到子元素的事件委托给父元素,让父元素承担事件监听的工作,事件代理的原理是dom元素的事件冒泡,使用事件代理的好处很多,如减少事件数量,预测未来元素,避免内存外泄等,有利于提高性能
把对象的创建几种在一个地方,在增加新的对象类型的时候,只需要改变工厂的方法,当不适用工厂模式的时候,改变创建方式则需要四处修改,增加维护成本
设计模式
结构性模式
行为性模式
在前端开发中有些特定的模式不太适用。当然,有些适用于前端的模式并未包含在这里面,如委托模式,节流模式等
工厂模式
它的优点是可以使用工厂方法而不是new关键字消除对象间的耦合。同时将所有实例化的代码封装在一起,实现代码重复。工厂模式解决了重复创建对象的问题
工厂模式的概念是什么?
工厂模式需要三个基本步骤,原料投入(传参),加工(创建对象,把接受的参数赋值给对象),成品产出(返回对象)
工厂模式的缺陷是什么?
说说mvc架构和mvvm架构的理解
什么是事件代理
事件代理又称为事件委托,是JavaScript中常见的事件的绑定方式,顾名思义‘事件代理’就是把原本需要绑定到子元素的事件委托给父元素,让父元素承担事件监听的工作,事件代理的原理是dom元素的事件冒泡,使用事件代理的好处很多,如减少事件数量,预测未来元素,避免内存外泄等,有利于提高性能
说说工厂模式的优缺点
扩展性高,如果想增加一个产品,只要扩展一个工厂类即可
屏蔽产品的具体实现,调用者只需担心产品的接口
使用工厂模式最主要的好处是什么?
把对象的创建几种在一个地方,在增加新的对象类型的时候,只需要改变工厂的方法,当不适用工厂模式的时候,改变创建方式则需要四处修改,增加维护成本