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("鸵鸟");}}
输出结果如下:
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类的职责是单一的。