面向对象设计之单一职责原则(Simple-Responsibility Principle)

版权声明:LemonSnm https://blog.csdn.net/LemonSnm/article/details/83040265

单一职责原则:

 一个类只负责一个功能领域中的相应职责,即就一个类而言,应该只有一个引起它变化的原因。

 好处:

  1. 降低类的复杂度,一个类只负责一项职责,其逻辑肯定比负责多项职责简单的多
  2. 复杂度低,可读性自然提高。
  3. 可维护性高,风险低。如果接口的单一职责好,一个接口修改只对相应的类有影响。对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。

 实例:

客户管理系统,需要一个可以生成客户表的工具

数据库:用户信息:

package com.saxy.LemonSnm;
     /*
        顾客信息
      */
public class Customer {
       public  String name;
       public  int  age;
       public  Customer(String name,int  age){
            this.name = name;
            this.age = age;
       }

}

查找数据库:

package com.saxy.LemonSnm;

import java.util.ArrayList;
import java.util.List;

public class CustomerDao {
    //查找数据库
    List<Customer> findCustomers(){
        List<Customer> cus  = new ArrayList<Customer>();
        cus.add(new Customer("张三",30));
        cus.add(new Customer("李四", 31));

        return cus;
    }
}

读取数据库,输出用户信息:

package com.saxy.LemonSnm;

public class CustomerChart {
    //读取数据库
    CustomerDao dao;
    public void setDao(CustomerDao dao){
              this.dao = dao;
    }
    //输出用户信息
    public void displayCustomers(){
        for(Customer customer : dao.findCustomers()){
            System.out.println("Customers name:" + customer.name + "  age:" + customer.age);
        }
    }
}

客户端测试:

package com.saxy.LemonSnm;

public class Main {
    public static void main(String[] args) {

        System.out.println("this is main method");
        
        CustomerChart customerChart = new CustomerChart(); //新建客户表
        customerChart.setDao(new CustomerDao());  //读取数据库
        customerChart.displayCustomers();       //输出用户信息
    }
}

猜你喜欢

转载自blog.csdn.net/LemonSnm/article/details/83040265
今日推荐