这6个设计原则中,隐藏着优雅代码的全部秘密吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4158个文字,预计阅读时间需要17分钟。
1.+ 开放原则+ 开放原则,即对扩展开放,对修改关闭。+ 对扩展和修改,我们如何理解它呢?+ 扩展开放表示,未来业务需求变化万千,代码应保持灵活的应变能力。+ 修改关闭表示,对已实现的代码进行修改时,应尽量避免直接修改,而是通过扩展的方式来实现。
1\. 开闭原则
开闭原则,即对扩展开放,对修改关闭。
对于扩展和修改,我们怎么去理解它呢?扩展开放表示,未来业务需求是变化万千,代码应该保持灵活的应变能力。修改关闭表示不允许在原来类修改,保持稳定性。
因为日常需求是不断迭代更新的,所以我们经常需要在原来的代码中修改。如果代码设计得不好,扩展性不强,每次需求迭代,都要在原来代码中修改,很可能会引入bug。因此,我们的代码应该遵循开闭原则,也就是对扩展开放,对修改关闭。
为了方便大家理解开闭原则,我们来看个例子:假设有这样的业务场景,大数据系统把文件推送过来,根据不同类型采取不同的解析方式。多数的小伙伴就会写出以下的代码:
if(type=="A"){//按照A格式解析
}else if(type=="B"){
//按B格式解析
}else{
//按照默认格式解析
}
这段代码有什么问题呢?
- 如果分支变多,这里的代码就会变得臃肿,难以维护,可读性低。
- 如果你需要接入一种新的解析类型,那只能在原有代码上修改。
显然,增加、删除某个逻辑,都需要修改到原来类的代码,这就违反了开闭原则了。为了解决这个问题,我们可以使用策略模式去优化它。
本文共计4158个文字,预计阅读时间需要17分钟。
1.+ 开放原则+ 开放原则,即对扩展开放,对修改关闭。+ 对扩展和修改,我们如何理解它呢?+ 扩展开放表示,未来业务需求变化万千,代码应保持灵活的应变能力。+ 修改关闭表示,对已实现的代码进行修改时,应尽量避免直接修改,而是通过扩展的方式来实现。
1\. 开闭原则
开闭原则,即对扩展开放,对修改关闭。
对于扩展和修改,我们怎么去理解它呢?扩展开放表示,未来业务需求是变化万千,代码应该保持灵活的应变能力。修改关闭表示不允许在原来类修改,保持稳定性。
因为日常需求是不断迭代更新的,所以我们经常需要在原来的代码中修改。如果代码设计得不好,扩展性不强,每次需求迭代,都要在原来代码中修改,很可能会引入bug。因此,我们的代码应该遵循开闭原则,也就是对扩展开放,对修改关闭。
为了方便大家理解开闭原则,我们来看个例子:假设有这样的业务场景,大数据系统把文件推送过来,根据不同类型采取不同的解析方式。多数的小伙伴就会写出以下的代码:
if(type=="A"){//按照A格式解析
}else if(type=="B"){
//按B格式解析
}else{
//按照默认格式解析
}
这段代码有什么问题呢?
- 如果分支变多,这里的代码就会变得臃肿,难以维护,可读性低。
- 如果你需要接入一种新的解析类型,那只能在原有代码上修改。
显然,增加、删除某个逻辑,都需要修改到原来类的代码,这就违反了开闭原则了。为了解决这个问题,我们可以使用策略模式去优化它。

