还在用策略模式解决if else?map➕函数式接口来帮你搞定

作者: 程序员蜗牛哥分类: 计算机技术 发布时间: 2023-01-31 19:34:28 浏览:22636 次

还在用策略模式解决if else?map➕函数式接口来帮你搞定

飞起的error:
策略化后,把命中率高的条件放到前面,充分利用cpu分支预测机制,可以提高代码执行效率。

【回复】回复 @时间褶皱 : CPU 确实有这种特性,但用 Java 不需要考虑这个,程序多跑几次 JVM 会知道哪里是热点、要做什么优化,会自己根据运行时信息重新优化编译的 ...
【回复】老话一句,别过早优化。 而且都用上设计模式了,肯定代表这些代码的可维护性比压榨性能更重要。 你说的技巧 Linux 内核跟一些解释器确实用得多,像是 Linux 内核 likely 跟 unlikely 宏就是干这的
WinnowPlus:
Function和Strategy并没有什么本质上的区别啊,Function本身也只是通过编译器支持匿名函数转换到匿名类。

失落的神秘园:
spring的工具类可以直接拿到一个接口的所有实现类,就不用一个个写进去了

【回复】回复 @阿里嘎都麻麻嘎嘎 : 不用,直接注入策略的接口spring会自动注入实现类
浩浩浩然:
逻辑不复杂可以这么抽象,如果是复杂的代码比较多的策略我还是喜欢用比较重量级的策略模式来承载业务代码[doge]

【回复】回复 @真中合欢Official : 我搞大数据应用的,工控代码中的运动控制部分功能不是很懂,或许你该教教我了[doge]
【回复】那工控代码中,运动控制部分功能怎么说
程序员蜗牛哥:
源码关注微信公众号:woniuxgg,直接领取

BG兵哥:
其实spring有个自动发现机制,会把实现了某一个接口的类的实例化后的对象放入到一个map中,你只要约定好resourceType和类的别名一致即可。

计算机 编程 代码 设计模式 策略 接口 java java程序员 我在B站跨年 用知识过好新的一年

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!