单一责任原则

单一责任原则(Simple Responsibility Principle):又简称为SRP,通俗的解释就是一个类,应该仅有一个引起它变化的原因,很简单的解释就是一个类只负责一向责任就o了。

为什么会产生这样的编程原则呢?因为当一个类中含有两个责任的时候的,一个责任的变化可能会影响另外一个责任的实现,这样的互相影响不利用代码的可复用性,修改起来也是相当的费劲,而SRP就可以很好的解决这样的问题。

下面演示一个Demo:

1.下面是定义了一个类,有个eating的方法:

public class Person {

	public void eating(String who) {
		
		System.out.println(who + "吃饭");
	}
}

class StartUp {
	
	public static void main(String[] args) {
		
		Person person = new Person();
		person.eating("惠州人");
		person.eating("广州人");
	}
}
2.但是美国人喜欢吃面包啊,这时候有两种方法:

方法一:

public class Person {

	public void eating(String who) {
		
		if(who.equals("美国人"))
			System.out.println(who + "吃面包");
		else 
			System.out.println(who + "吃饭");
	}
}

class StartUp {
	
	public static void main(String[] args) {
		
		Person person = new Person();
		person.eating("惠州人");
		person.eating("广州人");
		person.eating("美国人");
	}
}
方法二:

class EatRicePerson {

	public void eating(String who) {
		
		System.out.println(who + "吃饭");
	}
}

class EatBreadPerson {
	
	public void eating(String who) {
		
		System.out.println(who + "吃面包");
	}
}

class Start_Up {
	
	public static void main(String[] args) {
		
		EatRicePerson erp = new EatRicePerson();
		erp.eating("惠州人");
		erp.eating("广州人");
		
		EatBreadPerson ebp = new EatBreadPerson();
		ebp.eating("美国人");
	}
}
从这里可以很容易看出方法二的步骤明显比方法一的多,显得更加的麻烦,但是方法一明显是违背了单一责任原则,一个eating方法中肩负了多种责任,如果以后要细分吃饭的人吃的是硬饭还是软饭,里面的都的逻辑性就更加的复杂了,SRP简化了类的复杂度,有利于系统的维护。



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值