面向对象设计之单一职责原则(Simple-Responsibility Principle)
单一职责原则:
一个类只负责一个功能领域中的相应职责,即就一个类而言,应该只有一个引起它变化的原因。
好处:
- 降低类的复杂度,一个类只负责一项职责,其逻辑肯定比负责多项职责简单的多
- 复杂度低,可读性自然提高。
- 可维护性高,风险低。如果接口的单一职责好,一个接口修改只对相应的类有影响。对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。
实例:
客户管理系统,需要一个可以生成客户表的工具
数据库:用户信息:
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)相关推荐
- 软件设计原则(二)单一职责原则 -Single Responsibility Principle
SRP,Single Responsibility Principle: There should never be more than one reason for a class to chang ...
- 单一职责原则(Single Responsibility Principle)
在软件设计.编码过程中有几个基本原则即SOLID原则,学习理解能够帮忙我们写出更健壮的代码.SOLID是五个基本原则的首字母.这五个原则如下: Single responsibility Open–c ...
- 设计模式原则篇:(1)单一职责原则--Single Responsibility Principle
上篇文章提及到设计模式中应遵循的设计原则,并且列出了设计模式中应当遵循的六大原则. 次篇文章主要讨论单一职责原则. 单一职责原则(SRP): 不要存在多于一个导致类变更的原因.简单的讲,就是一个类或接 ...
- 单一职责原则(SIngel Responsibility Principle SRP)
SRP 用原话解释就是 There should never be more than one reason for a class to change 翻译一下也就是有且只有一个原因引起该类的变 ...
- Single Responsibility Principle (SRP) - OO设计的单一职责原则
前言 Robert C. Martin氏为我们总结了在面向对象的设计(OOD)中应该遵循的原则,这些原则被称为"Principles of OOD",关于"Princip ...
- 设计模式---面向对象设计原则之单一职责原则
单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小.单一职责原则定义如下: 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领 ...
- 面向对象设计原则之一:单一职责原则
单一职责原则(Single Responsibility Principle SRP) There should never be more than one reason for a class t ...
- 六大设计原则之单一职责原则
单一职责原则 单一职责原则(Single Responsibility Principle)–SRP: There should never be more than one reason for a ...
- 面向对象五大原则_1.单一职责原则amp;2.里氏替换原则
单一职责原则:Single Responsibility Principle (SRP) 一个类.仅仅有一个引起它变化的原因.应该仅仅有一个职责.每个职责都是变化的一个轴线.假设一个类有一个以上的职责 ...
最新文章
- android EditText 限定中文个数与英文个数的解决方式
- AM335X can驱动移植
- 前端学习(3180):ant-design介绍3
- SPOJ LCS 后缀自动机
- Odoo10参考系列--QWeb报表
- 理解函数的相关概念python_Python函数的概念和使用
- 卫星为什么在那么高的太空能看清地面?
- 国内智能语音识别产业的增长,可能源于三大技术突破
- windows查看GPU使用信息
- atitit。win7 win8 win9 win10 win11 新特性总结与战略规划
- 区块链技术指南之分布式的一致性
- verycd下载资源
- 雅黑PHP探针Light,雅黑php探针
- python Matplotlib同时画柱状图与折线图
- linux红帽8怎么安yum,RedHat Linux 8本地Yum源配置方法
- Qt Moc 文件解析
- 点石成金-Linux目录结构,命令,文件类型学习
- k8s1.20二进制安装
- 用Python自动生成Excel数据报表!
- Hive SQL复杂场景实现(1) —— 连续发单天数
热门文章
- Python实现鸡兔同笼问题
- 2020年编程语言趋势解读:编程世界之未来握于谁手?
- 国土空间总体规划编制之基期数据转换工具(免费)
- Windows驱动开发系列小白入门经典 - vs2019双机调试wdk驱动程序
- Fragment中使用listview
- el-table-column动态循环渲染列项名称/label值
- html5卤虾,自制五香小龙虾,自己做干净卫生,香辣可口,太过瘾了
- [网络安全自学篇] 七十三.WannaCry勒索病毒复现及分析(四)蠕虫传播机制全网源码详细解读
- python 在linux中把doc转换为docx格式文件(支持word97和word2003)
- java锁源码分析-1获取锁的过程