有些时候旧代码接口不兼容现有的实现,那么就得加一个适配器转化一下,避免修改老接口导致很多问题。就想typec转usb一样。

    image.png
    代码举例:

    1. class Adaptee {
    2. standard() {
    3. return '美国标准接口'
    4. }
    5. }
    6. class Target {
    7. constructor(){
    8. this.adaptee = new Adaptee()
    9. }
    10. requert() {
    11. let info = this.adaptee.standard()
    12. return `${info} - 转换 - 中国标准插口`
    13. }
    14. }
    15. let target = new Target()
    16. let res = target.request()
    17. console.log(res)

    代码举例Vue-computed:

    1. let vm = new Vue({
    2. el: '#exapmle',
    3. data: { massage: 'Hello' },
    4. computed: {
    5. // 转换 这就是一个适配器 代码里很常用
    6. reversedMessage: function() {
    7. return this.message.split('').reverse().join('')
    8. }
    9. }
    10. })
    • 旧接口和使用者分离
    • 符合开放封闭原则