Java设计模式-七大架构设计原则-单一职责原则

2022-09-28 08:08:58

Java设计模式-七大架构设计原则-单一职责原则

从这一专栏开始将学习设计模式,上课学习和自己总结归纳的笔记将总结出来供大家参考。
参考书籍:《设计模式就该这样学》

其他文章:

Java设计模式-UML类图Java设计模式-七大架构设计原则-开闭原则
Java设计模式-七大架构设计原则-依赖倒置原则Java设计模式-七大架构设计原则-单一职责原则
Java设计模式-七大架构设计原则-接口隔离原则Java设计模式-七大架构设计原则-最少知道原则(迪米特法则)
Java设计模式-七大架构设计原则-里氏替换原则和合成复用原则Java设计模式-创建型设计模式-简单工厂模式
Java设计模式-创建型设计模式-工厂方法模式(工厂模式)Java设计模式-创建型设计模式-抽象工厂模式
Java设计模式-创建型设计模式-建造者模式Java设计模式-创建型设计模式-原型模式
Java设计模式-创建型设计模式-单例模式Java设计模式-结构型设计模式-适配器模式
Java设计模式- 结构型设计模式-享元模式Java设计模式- 结构型设计模式-外观模式
Java设计模式- 结构型设计模式-桥接模式Java设计模式-结构型模式设计模式-组合模式
Java设计模式-行为型设计模式-观察者模式

单一职责原则

单一职责原则(Simple Responsibility Principle SRP):不要存在一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

好处:降低类的复杂度,提高程序的可读性,提高系统的可维护性,降低变更引起的风险,但是只有逻辑足够简单,才可以在代码级别上违反单一职责原则;只有类中方法数量足够少,才可以在方法级别上违反单一职责原则;

1.1单一职责原则的实际应用

1.1.1没使用针对类级别的单一职责

定义一个鸟类

![publicclassBird{//鸟的移动方式方法publicvoidMoveMethod(String birdName){if(birdName.equals("喜鹊")){System.out.println(birdName+"用翅膀飞");}else{System.out.println(birdName+"用脚走");}}}

定义一个测试类

publicclassTest{publicstaticvoidmain(String[] args){Bird bird=newBird();bird.MoveMethod("喜鹊");bird.MoveMethod("鸵鸟");}}

输出结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jY61apcN-1647937092838)(C:\Users\MateBook\Desktop\IDE、数据库系统等工具\API文档\Java设计模式)]

1.1.2使用针对类级别的单一职责

定义一个会飞的鸟类

public class FlyBird {
//会飞的鸟的方法
public void FlyMethod(String birdName){
    System.out.println(birdName+"用翅膀飞");
	}
}

定义一个只会行走的鸟类

publicclassWalkBird{//只能行走的鸟的方法publicvoidwalkBird(String birdName){System.out.println(birdName+"用脚走");}}

定义一个测试类

publicclassTest{publicstaticvoidmain(String[] args){FlyBird flyBird=newFlyBird();flyBird.FlyMethod("喜鹊");WalkBird walkBird=newWalkBird();
    walkBird.walkBird("鸵鸟");}}

输出结果如下:

在这里插入图片描述

1.2.5类图如下:说明FlyBird类和WalkBird类的职责是单一的。

在这里插入图片描述

  • 作者:FatterShday
  • 原文链接:https://blog.csdn.net/qq_29843575/article/details/123663962
    更新时间:2022-09-28 08:08:58