今天的博客主题
设计模式 ——》设计原则之单一职责原则
单一职责原则 SRP (Simple Responsibility Pinciple)
单一职责是说不要因为有多种变化原因而导致类变更。
怎么说呢,就是一个类负责两个任务,一个任务变更,修改这个任务逻辑代码,有可能会导致另一个任务发生意外。
这样一来,那这个类就存在两个导致类变更的原因。
如何解决这个问题呢?那就给这两个任务分开,分到两个类里面去,进行解耦。
后期任务变更互不影响。
达到了降低类的复杂度,提高类的可读性,提高了系统的维护性,降低变更引起的风险。
总的说就是一个 类、接口或方法只负责一个功能模块。各司其职。
代码示例
手机的销售场景,对于每个手机利润是不一样的,厂家给的优惠价以及手机进价,或者做活动时候的价格都不一样。对于这些功能需求,随时可能都会调整的。
新建一个 Sale 类
public class Sale {
public void salePhone(String phone, Double price){
if("Apple".equals(phone)){
System.out.println(phone + " 销售价:" + price);
}else if("HuaWei".equals(phone)){
System.out.println(phone + " 销售价:" + price