
设计模式——简易工厂模式
第二种方式就可以只将我们需要的东西赋值(前面的赋值用逗号,最后一个赋值用分号) 高级工程师对刚入职的员工能写出这样的代码会有好感,他会误认为你看过linux内核源码。内核源码中对结构体的操作就是用这种形式
在工厂中,所有东西都是封装起来的,不会被暴露 主函数中不用对这些类和对象进行申明,只需要编写逻辑代码,这样就能使主函数中的代码非常简洁 如果后面要加功能,只要在这个工厂的文件夹中加一个文件就可以了
接着添加第一个功能
接入链表选择头插法——如果没有头,则使新加入的文件变为链表的头,如果有,则用头插法
这样就能够使用了,但是此时编译一定会报错,因为main不认识这三个在工厂中的.c文件中的函数。 所以我们需要修改头文件,让头文件认识这三个函数
这样,包含了次头文件的主函数就认识这些函数
主函数修改完后就可以实现函数的调用
接着在主函数中把它加入到链表中
在头文件中也要申明这个函数
功能添加成功 这样的方法添加功能非常简单,而且不回出错
发布日期:2021-05-10 01:09:09
浏览次数:31
分类:精选文章
本文共 1838 字,大约阅读时间需要 6 分钟。
以前写的代码很乱,有可能做出一个功能后另一个功能就坏掉了。所有函数写在一个.c文件中,可能会互相影响。
一个解决方法就是分文件编程,参考我的这篇博文。 https://blog.csdn.net/qq_28258885/article/details/110529637 另一种就是学习设计模式目录
设计模式
代码设计经验的总结,使代码更加稳定,扩展性更强。这样一系列的编程思想。
设计模式通常描述了一组项目紧密作用的类与对象。(JAVA)设计模式由23种
https://www.runoob.com/design-pattern/design-pattern-tutorial.html 可以在这个链接中查看↑我的理解是:
设计模式就是前人代码编写的经验,代码架构的总结什么是类和对象
- C——面向过程
- JAVA——面向对象
实际上面向过程和面向对象只是编程的一种思想,不该和语言联系在一起。
- 类——用户自己定义的数据类型,也称类类型(C的结构体)
- 对象——类的一种具象
struct Animal{ int age; int sex; //成员属性 void (*peat)(); //成员方法 void (*pbeat)();};struct Animal dog;struct Animal cat;struct Animal person;
其中,dog cat person就是类的对象
以一个简单的demo为例#includestruct Animal{ int age; int sex; //成员属性 void (*peat)(); //成员方法 void (*pbeat)();};void dogEat(){ printf("dog eat bones\n");}void catEat(){ printf("cat eat fish\n");}void personEat(){ printf("person eat rice\n");}int main(){ struct Animal dog; struct Animal cat; struct Animal person; dog.peat = dogEat; cat.peat = catEat; person.peat = personEat; dog.peat(); cat.peat(); person.peat(); return 0;}

工厂模式
提供了创建对象的最佳的方式
创建对象时不会对客户端暴露创建逻辑
工厂模式的实现
代码的编写
下面举例实现
首先创建头文件来定义结构体

接下来创建狗和人的文件,分别给它们对应的结构体赋值
接着编写main函数,main函数中就需要初始化来调用这个串联起来的链表


验证及实现
改错后编译成功



添加功能
添加一个马
在文件夹中创建一个文件



在实际工作场景中,有可能一个函数的代码就上百行,那么这个函数的文件就会炸裂,很难维护或者添加功能