日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
工作中的設計模式——門面模式

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

城陽網(wǎng)站建設公司成都創(chuàng)新互聯(lián)公司,城陽網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為城陽成百上千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿網(wǎng)站制作要多少錢,請找那個售后服務好的城陽做網(wǎng)站的公司定做!

前言

門面模式也叫外觀模式,是一種結構型設計模式,能為程序庫、框架或其他復雜類提供一個簡單的接口。

1使用場景

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

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

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

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

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

好處

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

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

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

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

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

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

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

2總結

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

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

相關資料

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

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


分享標題:工作中的設計模式——門面模式
分享鏈接:http://www.5511xx.com/article/dpjgihs.html