当前位置: 首页 > news >正文

jsp电影网站开发教程滁州网站建设梦天堂

jsp电影网站开发教程,滁州网站建设梦天堂,店铺设计图片素材,国外域名备案软件设计模式——工厂模式 文章目录 软件设计模式——工厂模式一、设计模式的认知1.1 什么是软件设计模式#xff1a;1.2 为什么要学习设计模式#xff1a;1.3 设计模式的分类#xff1a; 二、工厂模式2.1 工厂模式实例#xff1a; 一、设计模式的认知 1.1 什么是软件设计…软件设计模式——工厂模式 文章目录 软件设计模式——工厂模式一、设计模式的认知1.1 什么是软件设计模式1.2 为什么要学习设计模式1.3 设计模式的分类 二、工厂模式2.1 工厂模式实例 一、设计模式的认知 1.1 什么是软件设计模式 ​ 软件设计模式又称设计模式。它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。综上设计模式就是泛指一系列编程的思想是代码设计经验的总结基于设计模式来开发代码可以使得程序更加稳定拓展性更强。 1.2 为什么要学习设计模式 ​ 在以往的项目开发中不管是 ftp服务器 还是 图像识别智能垃圾桶 又或者更之前的智能小车项目都没有一个固定的代码开发格式更多的是根据需求一个个实现功能虽然有了分文件编程的思想但是代码整体还是缺乏规整度。尤其是在开发过程中一个功能的实现经常会导致其他功能出现问题所以需要学习设计模式使得代码更加健壮和格式化。 1.3 设计模式的分类 软件设计模式共有23种总体来说可以被分为三大类 五种创建型模式工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。七种结构型模式适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。十一种行为型模式策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 下面我们就来学习创建型模式中的一种工厂模式。 二、工厂模式 工厂模式Factory Pattern是程序中最常见的设计模式之一这种类型的设计模式属于创建型模式它提供了一种创建对象的最佳方法。在工厂模式中我们在创建对象时不会对客户端暴露创建的逻辑并且是通过使用一个共同的接口来指向一个新创建的对象。 2.1 工厂模式实例 .h文件 #ifndef __PEOPLE_H__ #define __PEOPLE_H__#include stdio.hstruct People {int age;char name[32]; //成员属性void (*ptalk)(); //成员方法struct People *next; //链表 };struct People* ZhangsanInLink(struct People *head); struct People* LisiInLink(struct People *head);#endifPeople1.c文件 #include People.hvoid Zhangsan_talk() //张三的说话函数 {printf(请多关照我是张三.\n); }struct People Zhangsan { //张三的结构体.age 25,.name Zhangsan,.ptalk Zhangsan_talk }; struct People* ZhangsanInLink(struct People *head) //将张三加入链表 { if(head NULL){head Zhangsan;}else{Zhangsan.next head;head Zhangsan;}return head; }People2.c文件 #include People.hvoid Lisi_talk() //Lisi的说话函数 {printf(请多关照我是李四.\n); }struct People Lisi { //李四的结构体.age 20,.name Lisi,.ptalk Lisi_talk }; struct People* LisiInLink(struct People *head) //将Lisi加入链表 {struct People *p head;if(p NULL){head Lisi;}else{Lisi.next head;head Lisi;}return head; }main.c文件 #include People.h #include string.hstruct People* FindPeople(struct People *phead, char *name) // 链表查找函数 {struct People *p phead;while(p ! NULL){ // 遍历链表if(strcmp(p-name, name) 0){ // 找到该人return p; // 返回该人指针}p p-next;}return NULL; // 没找到该人 }int main() {char name[32] {\0}; // 姓名struct People *phead NULL; // 链表头指针struct People *pfind NULL; // 链表查找指针// 在链表中插入张三节点和李四节点phead ZhangsanInLink(phead); phead LisiInLink(phead);if(phead NULL){printf(链表中没有元素.\n);return 1;}while(1){printf(请输入要查找的姓名张三、李四(English)\n); // 循环读取姓名scanf(%s,name); // 输入姓名 if(strcmp(name, Zhangsan) 0 || strcmp(name, Lisi) 0){ // 找到该人pfind FindPeople(phead, name); // 查找该人if(pfind NULL){printf(没有找到该人.\n);}else{ // 找到该人printf(姓名:%s, 年龄:%d\n,pfind-name, pfind-age); // 打印该人信息pfind-ptalk(); // 调用该人的方法}}else{ // 输入错误printf(请输入正确的姓名.\n);}memset(name, \0, sizeof(name)); // 清空姓名}return 0; }从上面的案例可以看出 这就是一个典型的工厂模式代码设计。对于main.c相比于整体其代码量并不多且不会向用户暴露创建逻辑。结构体People就是一个工厂是一个类People1和People2作为对象以链表的形式存在在工厂中。 main函数需要做的就是将工厂中的模块组装起来然后想用哪个就去找到哪个就可以。 从上面的代码结构不难看出使用工厂模式使得代码更稳定且拓展性更强如果需要一个新的模块只需要再创建一个如People3并将其插入结构体People中就可以十分的方便且不会影响到其他的模块。
http://www.pierceye.com/news/685734/

相关文章:

  • 网站建设哪个好一些网站服务器证书有问题
  • 广东省广州市白云区钟落潭镇优化什么建立生育支持政策体系
  • wordpress+代码质量哈尔滨百度seo代理
  • 北京模板网站建设全包中国招标与采购网官网
  • 戴尔公司网站建设成功的关键是什么永久网站
  • 上海青浦做网站做分销网站系统
  • 互联网公司网站建设的目的王烨演员
  • 网站开发图片加载慢如皋建设网站
  • 国家示范校建设成果网站wordpress文章图片alt
  • asp.net网站开发技术物流专线网站建设
  • 免费网站流量统计工具线下推广方法及策略
  • 西安市社交网站制作公司网站建设的参考文献
  • 企业网站内容建设网站开发小程序开发
  • 个人个案网站 类型wordpress群组
  • 微网站建设深圳英文站seo
  • 做网站要钱么网站建设备案多长时间
  • wordpress建站图片效果网站备案前置审批 成都
  • 哈尔滨网站关键词优化手机网站视频播放模板
  • 西安企业做网站贵州毕节建设局网站官网
  • 临沂网站定制室内设计师证书哪个含金量高
  • 国外做化工产品的网站湛江手机网站建设公司
  • 企业网站管理系统如何上传图片湖南网站建设营销推广
  • 网站建设衤金手指花总十五开发平台和开发工具
  • 免费网站安全软件大全游戏网络规划设计师资料及视频教程
  • 怎么把电脑网站做服务器吗做网站的回扣
  • 无锡模板网站设计公司中介网站设计
  • 微网站 手机网站html做一个学校网页
  • 重庆建设工程招标网站电商网站需要哪些备案
  • 有关网页设计与网站建设的文章崇信门户网站留言回复
  • 网站优化有哪些技巧对网站建设的建议