一、项目中常用的if-else分支语句的分析:
1、项目中我们可不可以使用if-else分支,该怎么使用才能使程序最优,维护起来更加的方便?首先项目中可以使用if-else分支,可以使程序通俗易懂。但是面对太多的分支或者逻辑稍微复杂的代码块,if-else分支不免显得优点乏力,在C++中貌似超过200个分支就会编译错误,在实际的交易系统中随着业务的增加,交易数会突破200+这个时候就会带来一些问题;其次,业务逻辑层等比较抽象的地方使用冗长的if else不好;同时,if-else代码违反了 open close原则(open to extesion & close to modification)。每一次有新的逻辑变动,都需要了解原有代码的逻辑,并在适当的地方增加分支语句。这要求程序员对编写非常完整的逻辑,维护起来也比较繁琐。
二、替代if-else分支的方法:
1、策略模式:为了更好的了解什么是策略模式,我们可以举个例子,中学时代每次考完数学,老师们在讲解试卷时候都会说这道题有很多种种解法,然后在黑板上写出第一种、第二中.........等等。其实这就是一种策略模式。在遇到一种问题有多种解法的时候,每个同学依据自身的想法或者不同的角度选择一种算法或者策略解决问题,过程不一样最终结果却是一样。为此我们再举一个例子:
我们锻炼身体时候可能有很多种方式,比如说我们可以跑步、做操、跳绳等等。不管我们使用哪一种方式,最终的目的都是一样的。我们可以将跑步、做操、跳绳看做一个个策略、方式,选取哪一种策略,取决于当天我们自己的意愿或者状态,但无论选择哪一种方式产生的结果都是一样的。
综上所述策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换