偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

工作中的設(shè)計模式 —— 門面模式

開發(fā) 前端
門面模式也叫外觀模式,是一種結(jié)構(gòu)型設(shè)計模式,能為程序庫、框架或其他復(fù)雜類提供一個簡單的接口。

[[393868]]

本文轉(zhuǎn)載自微信公眾號「程序員小航」,作者程序員小航。轉(zhuǎn)載本文請聯(lián)系程序員小航公眾號。

前言

門面模式也叫外觀模式,是一種結(jié)構(gòu)型設(shè)計模式,能為程序庫、框架或其他復(fù)雜類提供一個簡單的接口。

1使用場景

門面模式可以說是在工作中使用非常多的一種設(shè)計模式了,比如常用的 slf4j。

下面簡單介紹常用的使用場景:

為遠程接口設(shè)計統(tǒng)一入口

比如需要調(diào)用微信支付寶支付,里面一大堆參數(shù),參數(shù)什么也不一樣,這時候就可以統(tǒng)一封裝一個接口,然后小伙伴們使用的時候,只需要調(diào)用封裝的接口就可以了。

也不用擔(dān)心同樣是狀態(tài),這里叫 status,那里叫 orderStatus了。反正對外都是一個統(tǒng)一的門面,你自己定義即可。

好處

統(tǒng)一封裝門面的好處,就是可以 Mock。

這也是我最近了解到的,之前都是一把嗦,誰管 junit。

Mock 就是說在 junit 測試中,使用 @MockBean 注入一個 mock 對象,然后自己定義返回。

  1. Mockito.when( xxxFacadeService.methodX()).thenReturn(mockBean); 

就是調(diào)用某個接口的時候,返回自己 mock 的對象。

這個我也是才發(fā)現(xiàn)的,因為我試著使用 @MockBean 注解 Dubbo 接口的對象,但是并不行。

不過還是可以變通的,所有的調(diào)用外部接口的地方,不管是 http 還是 dubbo,全部都封裝了門面,這樣我 mock 自己的門面接口就 ok 了。

2總結(jié)

在開發(fā)中,除了會封裝很多外部接口為門面外,也會把自己的接口封裝為一個門面。

也會有結(jié)合策略模式的使用,或者結(jié)合適配器模式。這些都有很多很多的使用場景,不過單獨弄懂一個,后續(xù)遇到就自己擴展。

相關(guān)資料

[1] 《深入設(shè)計模式》:https://refactoringguru.cn/design-patternss

[2] 封面圖:https://refactoringguru.cn/design-patterns/facade

 

責(zé)任編輯:武曉燕 來源: 程序員小航
相關(guān)推薦

2021-04-14 09:02:22

模式 設(shè)計建造者

2021-08-11 17:22:11

設(shè)計模式單例

2022-02-15 22:45:00

前端設(shè)計模式

2022-11-14 08:44:56

前端門面模式接口

2021-03-18 15:33:22

設(shè)計模式外觀

2023-05-06 07:51:22

JavaFacade設(shè)計模式

2024-02-19 13:11:38

門面模式系統(tǒng)

2024-12-11 08:20:57

設(shè)計模式源碼

2021-10-27 17:57:35

設(shè)計模式場景

2021-06-02 08:17:05

門面模式設(shè)計

2012-10-30 09:44:33

敏捷開發(fā)

2012-08-30 09:07:33

設(shè)計模式

2024-07-31 08:12:33

2010-01-21 09:08:53

.NET設(shè)計模式

2021-04-19 21:25:48

設(shè)計模式到元

2012-04-10 10:04:26

并行編程

2009-06-29 18:11:40

JSP設(shè)計模式

2011-07-14 14:46:46

設(shè)計模式

2012-12-25 09:38:41

JavaScript設(shè)計模式

2021-02-01 10:01:58

設(shè)計模式 Java單例模式
點贊
收藏

51CTO技術(shù)棧公眾號