欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【读书笔记】设计模式第五章第六章收获

程序员文章站 2024-02-09 18:18:46
...

第五章 抽象工厂模式

  • 抽象工厂模式:通过对类的工厂抽象使其业务用于对产品类簇的创建,而不负责创建某一类产品的实例。
  • 抽象类。作者意思是子类继承父类,而父类原型链上绑的方法调用给与抛出错误返回,这样在子类继承父类并生成实例调用原型链方法时,方法如果没有被重写就会报错。博主以前学的抽象类其实就是只能继承,自己不能生成实例或者调用。
  • 这个抽象工厂模式,我花了点时间才搞懂作者这个啥意思。其实就是我创建个类,然后通过这个函数,可以把我这个类变成指定类的子类。这个和简单工厂以及工厂方法的区别就是简单工厂和工厂方法只是做一个向导,你要去用哪个类带给你哪个类,这个是做继承。

第六章 建造者模式

  • 建造者模式:将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可采用不同的表示。
  • 作者举了个需要做招聘网站的例子,简历人员的内容有部分需要特殊处理。用以前工厂模式会导致每位应聘者信息要建,应聘职位要建。
  • 作者是这么解释和工厂模式异同的:工厂模式创建出来时一个对象,它追求创建的结果,而建造者模式不仅得到创建的结果,也参与了创建的具体过程,对于创建的具体实现的细节也参与了干涉,可以说创建的对象更复杂,或者说这种模式创建的对象是一个复合对象。
var Person =function(name,work){
 var _person = new Human()
 _person.name = new Named(name)
 _person.work = new Work(work)
 return _person
}
  • 我个人觉得这个建造者模式就是几个复合工厂模式。。。工厂模式是找向导得到想要的类,但是实际情况比较复杂,想要的类会多种多样,于是将这个类继续拆分,变成复合类。

总结

  • 这两章是抽象工厂模式和建造者模式,个人觉得本质实际是对类进行包装,或者更细一步的拆分。只是名字听着好像很nb