主题
结构型模式
结构型设计模式。
适配器模式
使接口不兼容的类可以一起工作。
javascript
class Adapter {
adapt(oldInterface) {
return {
newMethod: () => oldInterface.oldMethod()
}
}
}装饰器模式
动态地给对象添加职责。
javascript
function decorator(target) {
target.newMethod = function() {
// 新功能
}
return target
}代理模式
为其他对象提供代理以控制访问(如懒加载、权限校验、远程代理)。
javascript
class RealSubject { request() { return 'real' } }
class Proxy {
constructor() { this.real = null }
request() {
if (!this.real) this.real = new RealSubject() // 懒加载
return this.real.request()
}
}外观模式
为复杂子系统提供统一的高层接口,降低调用方复杂度。
javascript
class Facade {
constructor(a, b) { this.a = a; this.b = b }
operation() { return this.a.step1() + this.b.step2() }
}