建造者模式
建造者模式
-
定义:将一个复杂对象的构建层和表示层分离。
-
它与工厂模式的区别
- 建造者模式更注重于创建对象的过程,而工厂模式更注重于结果
- 建造者模式使用new来创建一个人,工厂模式是调用工厂函数返回一个实例。因此建造者模式可以使用instanceof运算符判断实例所属类型,而工厂模式不行。
- 以下是使用建造者模式创建一个人,人具有工作和姓名两个属性
let Human = function () { };
let Name = function (name) {
this.wholeName = name;
}
let Work = function (work) {
this.currentWork = work;
}
function Person(name, work) {
let _person = new Human();
_person.name = new Name(name);
_person.work = new Work(work);
return _person;
}
let person = new Person('wqt', '工程师');