单一职责原则举一个C代码例子详细说明
单一职责原则(Single Responsibility Principle,SRP)指的是一个类或者模块应该只有一个引起它变化的原因,也就是说,一个类或者模块应该只负责一项职责。
下面是一个C代码的例子,用来说明单一职责原则:
#include <stdio.h>
#include <stdlib.h>
// Employee结构体用来存储员工的信息
typedef struct {
char name[20];
int age;
double salary;
} Employee;
// print_employee函数用来打印员工的信息
void print_employee(Employee e) {
printf("Name: %s\n", e.name);
printf("Age: %d\n", e.age);
printf("Salary: %.2f\n", e.salary);
}
// save_employee函数用来将员工的信息保存到文件中
void save_employee(Employee e) {
FILE *fp;
fp = fopen("employee.txt", "a");
if(fp == NULL) {
printf("Error: cannot open file.\n");
exit(1);
}
fprintf(fp, "%s %d %.2f\n", e.name, e.age, e.salary);
fclose(fp);
}
int main() {
Employee e1 = {"John", 25, 5000.0};
Employee e2 = {"Mary", 30, 6000.0};
// 打印员工的信息
print_employee(e1);
print_employee(e2);
// 将员工的信息保存到文件中
save_employee(e1);
save_employee(e2);
return 0;
}
在上面的例子中,我们定义了一个Employee结构体来存储员工的信息。同时,我们定义了两个函数print_employee和save_employee来打印员工的信息和将员工的信息保存到文件中。
这个例子符合单一职责原则,因为print_employee函数只负责打印员工的信息,而save_employee函数只负责将员工的信息保存到文件中。这样做的好处是,如果我们需要修改打印员工信息的方式,或者修改将员工信息保存到文件的方式,只需要修改对应的函数,而不需要修改其他的函数。
总之,单一职责原则可以提高代码的可维护性、可扩展性和可重用性,并且可以避免不必要的代码耦合。
原文地址: https://gggwd.com/t/topic/69W 著作权归作者所有。请勿转载和采集!