• 概念:指不要存在多于一个导致类变更的原因
  • 假设一个类负责俩个职责,一旦发生需求变更,修改其中一个职责的逻辑代码,有可能导致另一个职责的功能发生故障
  • 优点:降低类的复杂度,提高类的可读性,提高系统的可维护性,降低变更引起的风险

事例一: 一次性修改


改造前:

  1. public void modifyUserInfo(Sring userName,Sring address, boolean bool){
  2. if(bool){
  3. }else{
  4. }
  5. userName = "Tom";
  6. address = 'beijing';
  7. }

改造后:

  1. private void modifyUserName(String UserName){
  2. userName = 'Tom';
  3. }
  4. private void modifyAddress(Sring adress){
  5. adress = 'beijing';
  6. }

事例二:直播&录播案例

改造前:

  1. public class video{
  2. public void watch(String videoType){
  3. if("直播".equals(videoType)){
  4. System.out.println("不能快进")
  5. //视频流加密逻辑一
  6. //未付费可观看十分钟,付费可一直观看
  7. if(){
  8. }else{
  9. }
  10. //会员排名显示最近十五分钟送礼物最多的先后顺序
  11. if(){
  12. }else{
  13. }
  14. }else if("录播"){
  15. System.out.println("可以反复回看")
  16. //视频流加密逻辑二
  17. //付费可一直重复看,未付费可观看十分钟
  18. if(){
  19. }else{
  20. }
  21. //会员排名显示直播间结束统计的排名
  22. if(){
  23. }else{
  24. }
  25. }
  26. }
  27. }

改造后: