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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 命令之 cp -- 复制文件或目录

文章目录一、命令介绍二、常用选项三、命令示例&#xff08;一&#xff09;复制某个目录到某个目录下&#xff08;二&#xff09;复制文件&#xff08;三&#xff09;复制文件到目标目录下&#xff0c;若存在文件则备份&#xff08;四&#xff09;复制某个目录的全部文件到某个…

向上累积频数怎么算_excel数据分析向上累计和向下累计怎么做呢

2016-07-08 00:25赵飞虎 客户经理一、Excel在分析性测试、复核中的运用注册会计师在分析审计风险确定重点审计领域、重要性水平和重大异常经济业务事项时&#xff0c;常常要对被审计单位的会计报表进行分析性测试和复核。在执行具体审计程序时&#xff0c;也常常要对本期数和上…

okta使用_使用Okta的单点登录保护您的Vert.x服务器

okta使用“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 Vert.x是Spring生态系统中增长最快的元素之一&#xff0c;保护Vert.x服务器可…

Linux 命令之 make -- GNU的工程化编译工具

文章目录一、命令介绍二、常用选项三、命令示例&#xff08;一&#xff09;指定命令 make 的工作目录一、命令介绍 make 命令是 GNU 的工程化编译工具&#xff0c;用于编译众多相互关联的源代码文件&#xff0c;还可以编辑内核或模块&#xff0c;以实现工程化的管理&#xff0…

SDL2笔记

SDL2基本操作头文件主函数初始化创建窗口窗口暂停以及事件讲解销毁窗口(释放指针)并退出加载bmp图片新加载图片的方法(使用渲染、纹理)加载其他格式的图片头文件 #include "SDL.h" #include "SDL_image.h"主函数 int main(int argc,char* argv[]) //一定…

操作系统时间片轮换_《操作系统_时间片轮转RR进程调度算法》

转自:https://blog.csdn.net/houchaoqun_xmu/article/details/55540250时间片轮转RR进程调度算法一、概念介绍和案例解析时间片轮转法 - 基本原理&#xff1a;在早期的时间片轮转法中&#xff0c;系统将所有的就绪进程按先来先服务的原则排成一个队列&#xff0c;每次调度时&am…

java ee打印功能_Java EE 8的前5个新功能

java ee打印功能备受期待的Java Enterprise Edition 8版本具有两个令人兴奋的新API&#xff08;JSON绑定1.0和Java EE Security 1.0&#xff09;&#xff0c;并且对当前API进行了改进&#xff08;JAX-RS 2.1&#xff0c;Bean Validation 2.0&#xff0c;JSF 2.3&#xff0c;CDI…

SDL2事件笔记

SDL2事件窗口关闭的事件&#xff1a;鼠标事件鼠标点击事件鼠标移动事件键盘事件用SDL_PollEvent(&event)来检测是否有事件&#xff0c;用SDL_Event的实例属性event.type来获取事件。 窗口关闭的事件&#xff1a; SDL_QUIT鼠标事件 鼠标点击事件 鼠标点击事件&#xff1…

什么是复数

我们把形如 zabi&#xff08;a、b均为实数&#xff09;的数称为复数。其中&#xff0c;a 称为实部&#xff0c;b 称为虚部&#xff0c;i 称为虚数单位。当 z 的虚部 b&#xff1d;0 时&#xff0c;则 z 为实数&#xff1b;当 z 的虚部 b≠0 时&#xff0c;实部 a&#xff1d;0 …

qnx 设备驱动开发_QNX驱动开发——应用层与resource manger交互 | 学步园

QNX操作系统是一个类Unix实时操作系统&#xff0c;遵从POSIX规范&#xff0c;驱动程序具有良好的可移植性。编写任何驱动程序都会遇到同样的一个问题&#xff1a;应用程序与驱动程序之间是如何进行交互的。其实这个问题很简单&#xff0c;QNX有大量资料说明这一点。当客户端调用…

spring api层打包_Spring项目的按层打包已过时

spring api层打包我认为Spring应用程序不应该以逐层方法构造。 在我看来&#xff0c;按功能打包更有意义。 首先&#xff0c;让我简要描述每种方法。 “按层打包”&#xff08;在非Java世界中为“按类型折叠”&#xff09; 该项目结构根据源代码文件所属的体系结构层将其分为…

C++ Primer(第五版)第七章 类 部分答案

第七章 类练习7.2练习7.3练习7.4练习7.6练习7.7练习7.9练习7.14、7.15、7.22练习7.23、7.24、7.26练习7.27练习7.2 曾在 2.6.2 节的练习&#xff08;第 76 页&#xff09;中编写了一个 Sales_data类&#xff0c;请向这个类添加 combine 和 isbn 成员。 创建头文件sales.h #ifn…

arpanet(阿帕网)

“阿帕”&#xff08;ARPA&#xff09;&#xff0c;是美国高级研究计划署&#xff08;Advanced Research Project Agency&#xff09;的简称。他的核心机构之一是信息处理技术办公室&#xff08;IPTO Information Processing Techniques Office&#xff09;&#xff0c;一直在关…

mongodb数据库淘汰_mongodb 内存数据淘汰策略

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼About MongoMongoDB uses memory mapped files.This means the the operating system essentially controls what is paged in and out of memory (to and from disk).The RulesIf your indexes working set exceed memory, the l…

Markdown常用转义字符

如果字符无法正常输出&#xff0c;则在前面加\试试。 空格&#xff1a; 数学公式 数学公式要使用$$&#xff0c;需将公式放在两个$中间。 下标: _上标: ^分数&#xff1a;方法1&#xff1a;\frac{分子}{分母} 方法2&#xff1a;分子 \over 分母 对于\frac的方法…

互联网工程任务组(IETF)

国际互联网工程任务组&#xff08;The Internet Engineering Task Force&#xff0c;简称 IETF&#xff09;是一个公开性质的大型民间国际团体&#xff0c;汇集了与互联网架构和互联网顺利运作相关的网络设计者、运营者、投资人和研究人员&#xff0c;并欢迎所有对此行业感兴趣…

javafx 打印控件_Java的新视差控件(JavaFX)

javafx 打印控件介绍 视差是一种视觉效果&#xff0c;您可以组合以不同速度移动的两个分层图像以获得深度感。 想想一下&#xff0c;当您在道路上行驶时&#xff0c;您会看到附近的树木在快速移动&#xff0c;而距离较远的树木将沿同一方向移动但速度较慢&#xff0c;结果是您…

beoplay耳机序列号查询_BOSE耳机序列号如何查询?

展开全部 大多数序列号可在产品的背面或底部找到,一般位于条形码旁。e69da5e6ba903231313335323631343130323136353331333431363532序列号长度为 17 位(还有一些耳机是 4 位),可包含字母和数字。 另外,与 Bose Connect 应用程序兼容的产品将在应用程序的设置和gt; 产品信息下…

编译原理总概述笔记

编译原理编译原理程序设计语言分类翻译编译解释编译的转换过程两阶段的转换三阶段的转换编译程序的工作词法分析语法分析中间代码生成优化目标代码生成表格与表格管理出错处理语句翻译实例过程编写编译程序方式编译原理 是介绍高级程序设计语言变换成计算机硬件所能识别的机器…

RFC(一系列以编号排定的文件)

Request For Comments&#xff08;RFC&#xff09;&#xff0c;是一系列以编号排定的文件。文件收集了有关互联网相关信息&#xff0c;以及UNIX和互联网社区的软件文件。RFC文件是由Internet Society&#xff08;ISOC&#xff09;赞助发行。基本的互联网通信协议都有在RFC文件内…