工厂模式
适用于大批量创建同类型的对象,通过同一个接口创建对象,根据传入的参数不同从而创建不同内容的对象,让这个接口由子类决定实例化哪一个类。
优点:解决了多个类似对象声明的问题,易于维护和扩展,稳定性好。
推荐场景:1. 对象的构建十分复杂。 2. 需要依赖具体环境创建不同实例。 3. 处理大量具有相同属性的小对象。
实施过程:
- 提供父构造函数
- 设置父构造函数的原型对象
- 定制不同对象上的差异化属性(设置子构造函数–>父构造函数的静态方法)
- 在父构造函数上添加静态工厂方法
- 判断是否支持生产
- 设置子构造函数(父构造函数的静态方法)的原型对象
- 修正构造器属性
- 返回利用子构造函数创建的实例对象
- 使用父构造函数的静态工厂方法创建指定的对象
备忘模式(函数结果缓存)
特定场景:当某个函数需要接受参数,可能会反复计算并且在函数内部需要进行耗时并且大量的逻辑处理才能得到结果时。我们可以把计算结果保存包函数对象中。计算时,先去缓存中查找,没有再计算。
函数是对象,可以在函数上面添加属性和方法
函数的参数作为key,结果作为value。
步骤:
1. 提供一个缓存对象`cache`(key-value)
2. 获取传入的参数
3. 在缓存对象`cache`中查找是否有结果
4. 有,就返回
5. 没有,执行函数得到结果保存到`cache`中并返回结果。
|
|