设计原则之单一职责原则
1.单一职责原则
1.1 定义
不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。
1.2 问题由来
类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。
public class Animal
{
public void breathingAir(String animalName)
{
System.out.println(animalName + "呼吸空气");
}
public void breathingWater(String animalName)
{
System.out.println(animalName + "呼吸水");
}
}
public class Test
{
public static void main(String[] args)
{
Animal animal = new Animal();
animal.breathingAir("牛");
animal.breathingWater("鱼");
}
}
1.3 实现思路
遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。
1.4 解决方案
修改后的代码如下:
/**
* @author tbb
* 陆生生物
*/
public class TerrestrialOrganism
{
public void breathing(String animalName)
{
System.out.println(animalName + "呼吸空气");
}
}
/**
* @author tbb
* 水生生物
*/
public class AquaticOrganism
{
public void breathing(String animalName)
{
System.out.println(animalName + "呼吸水");
}
}
public class Test
{
public static void main(String[] args)
{
TerrestrialOrganism animal1 = new TerrestrialOrganism();
animal1.breathing("牛");
AquaticOrganism animal2 = new AquaticOrganism();
animal2.breathing("鱼");
}
}