1. 首页
  2. 编程语言
  3. Java
  4. Java如何利用策略模式替代if/else语句

Java如何利用策略模式替代if/else语句

上传者: 2021-06-23 16:20:16上传 PDF文件 67.00 KB 热度 24次

平时在开发中避免不了使用大量的if else语句,但过多层的if else对于性能有很大的开销,类似如下代码上边代码只是示例,实际情况可能不止4层策略模式是一种解耦的方法,它对算法进行封装,使得算法的调用和算法本身分离。使用策略模式客户端代码不需要调整,算法之间可以互相替换,因为不同的算法实现的是同一个接口。将上面的代码优化后变为:实现策略模式需要以下几个步骤:写两个作为例子,可根据情况自行扩展实现类在这一步骤中,我们需要一种方式可以根据msgid来反射获取对象的实例,这里使用枚举来维护二者的对应关系。在上面的代码中,getAllClazz()方法用于获取所有message和对应处理类的映射关系。至此策略模式优化就已经完成了,运行MainStart可以看到运行结果。

用户评论