Map 函式式介面方法替換if else

2022-09-19 14:09:11 字數 732 閱讀 2360

1)if/else

2) 策略模式

3)map + 函式式介面

判斷條件放在key中

對應的業務邏輯放在value中

這樣子寫的好處是非常直觀,能直接看到判斷條件對應的業務邏輯

@service

public class querygranttypeservice

public string getresult(string resourcetype)

return "查詢不到該優惠券的發放方式";

}}

//具體的邏輯操作

@service

public class granttypeserive

public string shopping(string resourceid)

public string qqvip(string resourceid)

}

@restcontroller

public class granttypecontroller

}

策略模式通過介面、實現類、邏輯分派來完成,把 if語句塊的邏輯抽出來寫成乙個類,更好維護。

map+函式式介面通過map.get(key)來代替 if-else的業務分派,能夠避免策略模式帶來的類增多、難以俯視整個業務邏輯的問題。

介面預設方法 介面靜態方法 函式式介面

目錄 介面預設方法 介面靜態方法 函式式介面 package com.tmooc.inte cedefaultandstaticmethod import jdk.internal.instrumentation.logger import lombok.extern.slf4j.slf4j aut...

函式式介面

在oop中方法中的引數傳遞的資料,而函式式介面傳遞的是一種行為。如果乙個介面只有乙個抽象方法,那麼這個介面就是函式式介面 如果在某個介面上宣告了 functionalinte ce 註解,那麼編譯器會按照函式式介面的定義來約束該介面。public class mydemo public static...

函式式介面

jdk提供我們的常用函式式介面 supplier consumner predicate function 02 函式式介面的概念 函式式介面的定義 概念 有且僅有乙個抽象方法的介面 functionalinte ce 告訴編譯器,我當前這個介面是函式式介面 編譯器就會檢測當前介面是不是有且僅有乙個...