工厂方法模式
简单工厂模式
缺点就是返回的所有对象,均已经提前写好,当数据量小的时候,这就无所谓,但是当数据量过大的时候,这种显然不是一种很好的方法;
此时应该开始考虑如何将要返回的数据进行抽象,进一步优化代码,这就是 工厂方法模式
的作用。
function getPhne(model, brand, price) {
const phone = Object.create({
call: function() {},
takePhotos: function () {}
})
phone.model = model
phone.brand = brand
phone.price = price
return phone;
}
const hw = getPhne('mate 40', '华为', 4500);
console.log(hw);
const xm = getPhne('米10', '小米', 4000);
console.log(xm);
对比 简单工厂
,可以看出 工厂方法模式
是将数据的创建过程,从完全写死的情况,改变为从一个现有对象创建一个新的对象,大大减少了冗余代码,同时也符合 开放 - 关闭原则
。