前言

在实际开发中,需要让我们已经实现好的上层业务逻辑去对接一个新的需求,然而以前的上层业务逻辑设计的时候并没有考虑到现在的需求,在实际开发中,设计一个业务的时候是不可能把所有情况都考虑到,那么这时候我们要么改动上层业务逻辑来支持现在的需求,要么我们提供一个新的逻辑将这个新的需求改动一下以此来支持现在的上层业务逻辑。

什么是适配器模式?

说白了就是不对以前的代码进行大改动的情况下,将新的需求进过一层封装来调用。比如说后端数据传递,有时候并不会按照我们想要的数据进行传递,而这个时候我们就需要将数据进行处理,这个处理过程我们称之为适配器。

代码实现适配器模式

  1. // 老接口
  2. const oldCity = (function() {
  3. return [
  4. {
  5. name: 'hangzhou',
  6. id: 11,
  7. },
  8. {
  9. name: 'jinhua',
  10. id: 12
  11. }
  12. ]
  13. }())
  14. // 新接口希望是下面形式
  15. // {
  16. // hangzhou: 11,
  17. // jinhua: 12
  18. // }
  19. // 这时候就可采用适配者模式
  20. const adaptor = function(oldCity) {
  21. const obj = {};
  22. for (let city of oldCity) {
  23. obj[city.name] = city.id
  24. }
  25. return obj
  26. };
  27. console.log(adaptor(oldCity));

适配器主要应用于适配两个代码库,前后端数据等等,更多应用在对象之间,为了让对象可以用,通常将对象拆分在进行包装。