我们一起来读书吧 关注:113贴子:1,509
  • 0回复贴,共1

js设计模式 - 三四五六章

只看楼主收藏回复

第三章主要是阐述了简单工厂模式的概念:简单工厂模式的理念就是创建对象。
当我们遇到许多类似功能的时候,我们可以通过实现一个个功能函数去实现,不过可复用性较差。借助简单工厂模式,我们可以抽象出一个类(也就是一个对象),这个对象有多个属性,每个属性对应一个方法,每个方法可以实现某一个功能,比如某个表单校验规则(新建吧场景中的身份证号校验、吧名校验等)。如果这几个功能有相似之处,那就更好了!可以把相似之处提取出来,不相似之处针对处理。
第四章主要阐述了工厂方法模式的概念:工厂方法模式本意是说将实际创建对象工作推迟到子类当中。
我们可以将工厂方法看作是 一个实例化对象的工厂类,如果说简单工厂模式是基于一个类去针对每一个功能去创建这个类的公有方法,那么工厂方法模式就是基于一个个子类去新建一个个新类,这些类可能有一个共同的功能(方法):新建吧场景中基础信息有非空校验、完善信息页面也有非空校验,这些完全可以抽离一个父类,每个页面的校验规则用一个基于该父类的新类去处理。
本章还讲解了一个概念:安全模式类。主要是用来处理新建类的实例时没有使用new关键字,方法是在构造函数开始时先判断当前对象this 指代是不是类,如果是则通过new关键字创建对象,如果不是说明类在全局作用域 中执行,那么既然在全局作用域中执行当 然this就会指向window 了(通常情况下,如非浏览器环境可为其他全局对象),这样我们就要重新返回新创建的对象了。
第五章主要阐述了抽象工厂模式的概念:一个实现子类继承父类的方法。这个方法中我们需要通过传递子类以及要继承父类(抽象类)的名称,并且在抽象工厂方法中又增加了 一次对抽象类存在性的一次判断,如果存在,则将子类继承父类的方法。然后子类通过寄生式继承。
第六章主要产出了建造者模式的概念:将 一个复杂对象的构建层与其表示层相互分离,同样的构建过程,可采用不同的表示。工厂模式创建出来的是一个对象,它追求的是创建的结果,别无他求,所以那仅仅是一个实实在在的创建过程。而建造者模式就有所不同,它不仅仅可得到创建的结果,然而也参与了创建的具体过程,对于创建的具体实现的细节也参与了干涉,可以说创建的对象更复杂,或者说这种模式创建的对象是一个复合对象。


IP属地:北京1楼2024-04-09 01:23回复