JavaScript-设计模式
简单工厂模式
封装一个函数,使用的时候,只要知道这个函数,就可以通过这个函数创建我们需要的对象。
例如,去体育商品店卖体育器材,我们不必关心里面有什么商品,去到只需问售货员,她会帮你找到东西。
1 | // 篮球类 |
上面是通过 new 实例化对象创建的,还可以通过创建一个新对象,提炼相同之处,然后包装增强其属性来实现简单工厂模式。
例如,一本书都有序、目录、正文的结构,然后其不同的地方是书名、出版时间等。
1 | // 工厂模式 |
工厂模式
工厂模式本意是将实际创建对象工作推迟到子类中,安全起见,我么采用安全模式类,把创建对象的积累放到原型中即可。
安全模式类
安全模式类就是为了防止调用时没有使用 new
1 | var Demo = function() { |
创建一个书本类
1 | var Book = function(name, content) { |
小结
- 简单工厂模式适用于单类对象,工厂模式适合创建多类对象
- 工厂模式主要为了创建对象实例,关心的是最终产出(创建)的是什么,不关心创建过程。
以上笔记出自《JavaScript设计模式(张容铭)》