框架的设计模式(二)

28 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2更文挑战」的第6天 点击查看活动详情

前言

上一篇讲了我们常见的设计模式(观察者模式),今天讲下外观模式

什么是外观模式

官方说法: 为子系统中的一组接口提供一个一致的表现,使得子系统更容易使用而不需要关注内部复杂而繁琐的细节。

大白话: 多个子系统中复杂逻辑进行抽象,从而提供一个更统一、更简洁、更易用的API。(不需要过多的关注内部是怎样的,我就给你个api里面是包含你需要的东西的,拿来用就完事了)

代码演示如下:

const  userbaseinfo= ()=>{
    const obj={
        name:'王云飞',
        phone:"18511686987",
        sex:'男',
    }
    return obj;
}
// 用户的基础信息
const useraddressinfo= ()=>{
    const obj ={
        province:'江苏',
        city:'苏州',
        region:'红树湾花园18栋一单元101'
    }
    return obj;
}
// 用户的职业息
const userorderinfo= ()=>{
    const obj={
        orderNo:'1',
        price:'0.1元',
        JOBname:'小兵',
    }
    return obj;
}
const getuserinfo= ()=>{
    const baseinfo= userbaseinfo();
    const addressinfo = useraddressinfo();
    const orderinfo= userorderinfo();
    const obj={
        ...baseinfo,
        ...addressinfo,
        ...orderinfo,
    }
    return obj;
}
let userinfo= getuserinfo();
console.log({userinfo});

打印结果:

1677056218182.png

优点

减少系统相互依赖。

提高灵活性。

提高了安全性

缺点

不符合开闭原则,如果要改东西很麻烦。