- 概念:指不要存在多于一个导致类变更的原因
- 假设一个类负责俩个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能导致另一个职责的功能发生故障
- 优点:降低类的复杂度,提高类的可读性,提高系统的可维护性,降低变更引起的风险
事例一: 一次性修改
改造前:
public void modifyUserInfo(Sring userName,Sring address, boolean bool){
if(bool){
}else{
}
userName = "Tom";
address = 'beijing';
}
改造后:
private void modifyUserName(String UserName){
userName = 'Tom';
}
private void modifyAddress(Sring adress){
adress = 'beijing';
}
事例二:直播&录播案例
改造前:
public class video{
public void watch(String videoType){
if("直播".equals(videoType)){
System.out.println("不能快进")
//视频流加密逻辑一
//未付费可观看十分钟,付费可一直观看
if(){
}else{
}
//会员排名显示最近十五分钟送礼物最多的先后顺序
if(){
}else{
}
}else if("录播"){
System.out.println("可以反复回看")
//视频流加密逻辑二
//付费可一直重复看,未付费可观看十分钟
if(){
}else{
}
//会员排名显示直播间结束统计的排名
if(){
}else{
}
}
}
}
改造后: