php cdi_CDI和lambda的策略模式
生活随笔
收集整理的這篇文章主要介紹了
php cdi_CDI和lambda的策略模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
php cdi
策略設計模式在運行時動態選擇一種實現算法,一種策略。 該模式可用于根據情況選擇不同的業務算法。
我們可以將不同的算法實現定義為單獨的類。 或者,我們利用Java SE 8 lambda和函數,這些lambda和函數在此處用作輕量級策略實現。
CDI能夠注入參數化類型:
public class Greeter {@InjectFunction<String, String> greetingStrategy;public String greet(String name) {return greetingStrategy.apply(name);} }CDI生產者根據動態邏輯創建并公開問候語。 實際策略由Function類型表示并動態選擇:
public class GreetingStrategyExposer {private final Function<String, String> formalGreeting = name -> "Dear " + name;private final Function<String, String> informalGreeting = name -> "Hey " + name;@Producespublic Function<String, String> exposeStrategy() {// select a strategy...return strategy;} }翻譯自: https://www.javacodegeeks.com/2018/04/strategy-pattern-with-cdi-and-lambdas.html
php cdi
總結
以上是生活随笔為你收集整理的php cdi_CDI和lambda的策略模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 朝着理想坚实迈进_坚实原则:开放/封闭原
- 下一篇: 微信把你拉黑了怎么还能联系上