【记录】前端工程化 - 设计模式

创建型

(1)工厂模式

应用

  • jQuery的$()函数。
  • Vue.component()。
class Product{
	constructor(name){
		this.name = name;
	}
	init(){
		console.log('init');
	}
	fun(){
		console.log('fun');
	}
}

class Factory{
	create(name){
		return new Product(name);
	}
}

let factory = new Factory();
let p = factory.create('p1');
p.init();
p.fun();

(2)原型模式

在继承原型的基础上添加方法。

class Person{
	constructor(name){
		this.name = name;
	}
	getName(){}
}
class Student extends Person{
	constructor(name){
		super(name);
	}
	sayHello(){}
}
let stu = new Student('x');
stu.sayHello();

(3)访问者模式

// 访问者  
class Visitor {
    constructor() {}
    visitConcreteElement(ConcreteElement) {
        ConcreteElement.operation()
    }
}
// 元素类  
class ConcreteElement{
    constructor() {
    }
    operation() {
       console.log("ConcreteElement.operation invoked");  
    }
    accept(visitor) {
        visitor.visitConcreteElement(this)
    }
}
// client
let visitor = new Visitor()
let element = new ConcreteElement()
element.accept(visitor)

结构型

行为型

(1)观察者模式
(2)发布订阅模式
(3)访问者模式

技巧型

架构型

模块化

  • 将复杂的系统分解成高内聚、低耦合的模块,使系统开发变得可控、可维护、可扩展,提高模块的复用率。

(1)MVC模式
(2)MVP模式
(3)MVVM模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值