84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
比如说Color接口有三个实现类分别是:Red、Blue和Green现在我要在运行的时候才决定用某个实现类怎么管理比较优雅?别if..else..
学习是最好的投资!
工厂方法模式
编程中有顺序、分支、循环三种结构。if-else作为最常用的分支结构,是不可或缺的。
顺序
分支
循环
if-else
关于这个问题,对于只要学习过编程的人,if-else都是最简明的编程方式。而最简单的就是最优雅的。
而if-else有时候看起来比较糟糕的地方在于,if中嵌套很多层if-else,导致逻辑判断深度过大。
if
所以好的解决方案是,在能够提前退出if的的时候就提前返回结果,保证if的深度最大为两层。
这里有一个类似的问题可以看下:有很多if-else,该如何优化?
设计模式可以为你带来便利,但是不要在自己的解决方案中强套设计模式,你需要为自己的代码在简单的设计与设计模式之间做出折衷。
简单的设计
设计模式
题主的描述感觉比较符合设计模式中的策略模式。
策略模式
为什么不用多态了,丢给隐式的类型转换。根据接口方法的实现来处理啊。
工厂方法模式
编程中有
顺序
、分支
、循环
三种结构。if-else
作为最常用的分支结构,是不可或缺的。关于这个问题,对于只要学习过编程的人,
if-else
都是最简明的编程方式。而最简单的就是最优雅的。而
if-else
有时候看起来比较糟糕的地方在于,if
中嵌套很多层if-else
,导致逻辑判断深度过大。所以好的解决方案是,在能够提前退出
if
的的时候就提前返回结果,保证if
的深度最大为两层。这里有一个类似的问题可以看下:
有很多if-else,该如何优化?
设计模式可以为你带来便利,但是不要在自己的解决方案中强套设计模式,你需要为自己的代码在
简单的设计
与设计模式
之间做出折衷。题主的描述感觉比较符合设计模式中的
策略模式
。为什么不用多态了,丢给隐式的类型转换。根据接口方法的实现来处理啊。