单一职责原则:

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

 好处:

  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();       //输出用户信息}
}

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

  1. 软件设计原则(二)单一职责原则 -Single Responsibility Principle

    SRP,Single Responsibility Principle: There should never be more than one reason for a class to chang ...

  2. 单一职责原则(Single Responsibility Principle)

    在软件设计.编码过程中有几个基本原则即SOLID原则,学习理解能够帮忙我们写出更健壮的代码.SOLID是五个基本原则的首字母.这五个原则如下: Single responsibility Open–c ...

  3. 设计模式原则篇:(1)单一职责原则--Single Responsibility Principle

    上篇文章提及到设计模式中应遵循的设计原则,并且列出了设计模式中应当遵循的六大原则. 次篇文章主要讨论单一职责原则. 单一职责原则(SRP): 不要存在多于一个导致类变更的原因.简单的讲,就是一个类或接 ...

  4. 单一职责原则(SIngel Responsibility Principle  SRP)

    SRP 用原话解释就是 There should never be more than one reason for a class to  change  翻译一下也就是有且只有一个原因引起该类的变 ...

  5. Single Responsibility Principle (SRP) - OO设计的单一职责原则

    前言 Robert C. Martin氏为我们总结了在面向对象的设计(OOD)中应该遵循的原则,这些原则被称为"Principles of OOD",关于"Princip ...

  6. 设计模式---面向对象设计原则之单一职责原则

    单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小.单一职责原则定义如下: 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领 ...

  7. 面向对象设计原则之一:单一职责原则

    单一职责原则(Single Responsibility Principle SRP) There should never be more than one reason for a class t ...

  8. 六大设计原则之单一职责原则

    单一职责原则 单一职责原则(Single Responsibility Principle)–SRP: There should never be more than one reason for a ...

  9. 面向对象五大原则_1.单一职责原则amp;2.里氏替换原则

    单一职责原则:Single Responsibility Principle (SRP) 一个类.仅仅有一个引起它变化的原因.应该仅仅有一个职责.每个职责都是变化的一个轴线.假设一个类有一个以上的职责 ...

最新文章

  1. android EditText 限定中文个数与英文个数的解决方式
  2. AM335X can驱动移植
  3. 前端学习(3180):ant-design介绍3
  4. SPOJ LCS 后缀自动机
  5. Odoo10参考系列--QWeb报表
  6. 理解函数的相关概念python_Python函数的概念和使用
  7. 卫星为什么在那么高的太空能看清地面?
  8. 国内智能语音识别产业的增长,可能源于三大技术突破
  9. windows查看GPU使用信息
  10. atitit。win7 win8 win9 win10 win11 新特性总结与战略规划
  11. 区块链技术指南之分布式的一致性
  12. verycd下载资源
  13. 雅黑PHP探针Light,雅黑php探针
  14. python Matplotlib同时画柱状图与折线图
  15. linux红帽8怎么安yum,RedHat Linux 8本地Yum源配置方法
  16. Qt Moc 文件解析
  17. 点石成金-Linux目录结构,命令,文件类型学习
  18. k8s1.20二进制安装
  19. 用Python自动生成Excel数据报表!
  20. Hive SQL复杂场景实现(1) —— 连续发单天数

热门文章

  1. Python实现鸡兔同笼问题
  2. 2020年编程语言趋势解读:编程世界之未来握于谁手?
  3. 国土空间总体规划编制之基期数据转换工具(免费)
  4. Windows驱动开发系列小白入门经典 - vs2019双机调试wdk驱动程序
  5. Fragment中使用listview
  6. el-table-column动态循环渲染列项名称/label值
  7. html5卤虾,自制五香小龙虾,自己做干净卫生,香辣可口,太过瘾了
  8. [网络安全自学篇] 七十三.WannaCry勒索病毒复现及分析(四)蠕虫传播机制全网源码详细解读
  9. python 在linux中把doc转换为docx格式文件(支持word97和word2003)
  10. java锁源码分析-1获取锁的过程