第十二章 简单设计模式及应用

上传人:e****s 文档编号:252188792 上传时间:2024-11-13 格式:PPT 页数:17 大小:699.50KB
返回 下载 相关 举报
第十二章 简单设计模式及应用_第1页
第1页 / 共17页
第十二章 简单设计模式及应用_第2页
第2页 / 共17页
第十二章 简单设计模式及应用_第3页
第3页 / 共17页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十二章,简单设计模式及应用,什么是设计模式,模式就是得到很好研究的范例,走为上,围魏救赵,声东击西,设计模式是软件开发过程中经验的积累,特定问题的经过实践检验的特定解决方法,简单工厂模式,简单工厂模式的原理,父类产品,子类产品A,子类产品B,子类产品C,工厂,客户,简单工厂模式,工厂类:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创立产品对象,它往往由一个具体的类实现。,抽象产品角色:担任这个角色的类是由工厂方法模式所创立的对象的父类,或她们共同拥有的接口。一般由接口或抽象类实现。,具体产品角色:工厂方法模式所创立的任何对象都是这个角色的实例,由具体类实现。,简单工厂模式优缺点,模式的核心是工厂类,这个类负责产品的创立,而客户端可以免去产品创立的责任,这实现了责任的分割。但由于工厂类集中了所有产品创立逻辑的,如果不能正常工作的话会对系统造成很大的影响。如果增加新产品必须修改工厂角色的源码。,设计模式的意义,提高软件的可复用性,灵活,适应软件设计的变化,面向对象在实际应用中集中表达,里氏替换原那么,/,Student stu1,=new Student();,Student stu2,=new Student();,List person=new List();,person.Add(stu1);,person.Add(stu2);,/,子类对象可以替换父类,里氏替换原那么LSP,子类的对象能够替换其父类,父类对象不能够替换子类,父类的方法都要在子类中实现或者重写,is与as操作符,is 检查对象是否与指定类型兼容,if(personi,is,Student),判断person集合的元素是否是Student对象,as 用于在兼容的引用类型之间执行转换,for(int i=0;i Students.Count;i+),Student stu=Studentsi,as,Student;,Console.WriteLine(stu.Name);,转换失败返回值为空,一种类型转换方式,为什么需要抽象工厂设计模式,父类产品,子类产品A,子类产品B,子类产品C,工厂,客户,:简单工厂设计模式原理结构,什么是抽象工厂设计模式,什么是抽象工厂设计模式,抽象工厂,实体工厂2,实体工厂1,抽象产品A,抽象产品B,实体产品B1,实体产品B2,实体产品A1,实体产品A2,客户,:抽象工厂设计模式原理结构,什么是抽象工厂设计模式,抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关的。通常使用接口或抽象类实现。,具体工厂角色:这个角色直接在客户端的调用下创立产品的实例。这个角色含有选择适宜的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。通常使用具体的类实现。,抽象产品角色:担任这个角色的类是抽象工厂方法模式所创立的对象的父类,或它们共同拥有的接口。通常使用接口或抽象类实现这一角色。,具体产品角色:抽象工厂模式所创立的任何产品对象都是某一具体产品类的实例。这是客户端最终需要的东西。通常使用具体类实现这个角色。,什么是抽象工厂设计模式,1、提供一系列相互依赖对象的创立工作,2、封装对象常规的创立方法new,3、提供统一调用数据访问方法的方式,4、防止调用数据访问方法和具体对象创立工作的紧耦合,什么是抽象工厂设计模型,提供一个创立一系列相关或相互依赖对象的接口,无需指定它们具体的类,客户请求,抽象工厂,抽象产品,如何用抽象工厂设计模式构建我们的数据访问层?,使用抽象工厂模式,一个系统不应当依赖于产品类实例如何被创立、组合和表达的细节,这对于所有形态的工厂模式都是重要的。,这个系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。,同属于同一个产品族的产品是在一起使用的,这一约束必须在系统的设计中表达出来。,系统提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于实现。,如何使用抽象工厂设计模式,1、用,抽象工厂,生产抽象产品,2,、用,实体工厂,生产,实体产品,3,、用,抽象产品,提供,实体产品,访问接口,4,、用,实体产品,实现自己的功能,:抽象工厂设计模式中各个象的主要功能、职责,应用例如,SQLServer实体工厂,学员抽象产品,抽象工厂,Access实体工厂,管理员抽象产品,Access,学员实,体产品,SQL Server,学员实,体产品,客户,Access,管理员实,体产品,SQL Server,管理员实,体产品,小结,什么是面向对象设计模式?,什么是抽象工厂设计模式?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!