您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 第十二章 简单设计模式及应用
ZJWCHC第十二章简单设计模式及应用什么是设计模式模式就是得到很好研究的范例走为上围魏救赵声东击西设计模式是软件开发过程中经验的积累特定问题的经过实践检验的特定解决方法简单工厂模式简单工厂模式的原理父类产品子类产品A子类产品B子类产品C工厂客户简单工厂模式工厂类:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体的类实现。抽象产品角色:担任这个角色的类是由工厂方法模式所创建的对象的父类,或她们共同拥有的接口。一般由接口或抽象类实现。具体产品角色:工厂方法模式所创建的任何对象都是这个角色的实例,由具体类实现。简单工厂模式优缺点模式的核心是工厂类,这个类负责产品的创建,而客户端可以免去产品创建的责任,这实现了责任的分割。但由于工厂类集中了所有产品创建逻辑的,如果不能正常工作的话会对系统造成很大的影响。如果增加新产品必须修改工厂角色的源码。设计模式的意义提高软件的可复用性灵活,适应软件设计的变化面向对象在实际应用中集中体现里氏替换原则//…Studentstu1=newStudent();Studentstu2=newStudent();ListPersonperson=newListPerson();person.Add(stu1);person.Add(stu2);//…子类对象可以替换父类里氏替换原则(LSP)子类的对象能够替换其父类父类对象不能够替换子类父类的方法都要在子类中实现或者重写is与as操作符is检查对象是否与指定类型兼容if(person[i]isStudent)判断person集合的元素是否是Student对象as用于在兼容的引用类型之间执行转换for(inti=0;iStudents.Count;i++){Studentstu=Students[i]asStudent;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学员实体产品SQLServer学员实体产品客户Access管理员实体产品SQLServer管理员实体产品小结什么是面向对象设计模式?什么是抽象工厂设计模式?
本文标题:第十二章 简单设计模式及应用
链接地址:https://www.777doc.com/doc-3322208 .html