
ZJWCHC 第十二章 2☑/ 简单设计模式及应用
ZJWCHC 第十二章 简单设计模式及应用

什么是设计模式 ◆模式就是得到很好研究的范例 走为上 围魏救赵 声东击西 ◆设计模式是软件开发过程中经验的积累 ◆特定问题的经过实践检验的特定解决方法
什么是设计模式 模式就是得到很好研究的范例 走为上 围魏救赵 声东击西 设计模式是软件开发过程中经验的积累 特定问题的经过实践检验的特定解决方法

简单工厂模式 ◆简单工厂模式的原理 父类产品 客户 子类产品A 子类产品B 子类产品C
简单工厂模式 简单工厂模式的原理 父类产品 子类产品A 子类产品B 子类产品C 工厂 客户

简单工厂模式 ◆工厂类:担任这个角色的是工厂方法模式的 核心,含有与应用紧密相关的商业逻辑。工 厂类在客户端的直接调用下创建产品对象, 它往往由一个具体的类实现。 ◆抽象产品角色:担任这个角色的类是由工厂 方法模式所创建的对象的父类,或她们共同 拥有的接口。一般由接口或抽象类实现。 ◆具体产品角色:工厂方法模式所创建的任何 对象都是这个角色的实例,由具体类实现
简单工厂模式 工厂类:担任这个角色的是工厂方法模式的 核心,含有与应用紧密相关的商业逻辑。工 厂类在客户端的直接调用下创建产品对象, 它往往由一个具体的类实现。 抽象产品角色:担任这个角色的类是由工厂 方法模式所创建的对象的父类,或她们共同 拥有的接口。一般由接口或抽象类实现。 具体产品角色:工厂方法模式所创建的任何 对象都是这个角色的实例,由具体类实现

简单工厂模式优缺点 ◆模式的核心是工厂类,这个类负责产品的创 建,而客户端可以免去产品创建的责任,这 实现了责任的分割。但由于工厂类集中了所 有产品创建逻辑的,如果不能正常工作的话 会对系统造成很大的影响。如果增加新产品 必须修改工厂角色的源码
简单工厂模式优缺点 模式的核心是工厂类,这个类负责产品的创 建,而客户端可以免去产品创建的责任,这 实现了责任的分割。但由于工厂类集中了所 有产品创建逻辑的,如果不能正常工作的话 会对系统造成很大的影响。如果增加新产品 必须修改工厂角色的源码

设计模式的意义 ◆提高软件的可复用性 ◆灵活,适应软件设计的变化 ◆面向对象在实际应用中集中体现
设计模式的意义 提高软件的可复用性 灵活,适应软件设计的变化 面向对象在实际应用中集中体现

里氏替换原则 W... Student stu1 new Student(); Student stu2 new Student(); Listpersan new List(); person.Add(stu1); person.Add(stu2); .. 子类对象可以 替换父类 ◆子类的对象能够替换其父类 ◆父类对象不能够替换子类 ◆父类的方法都要在子类中实现或者重写 里氏替换原则(LSP)
里氏替换原则 //… Student stu1 = new Student(); Student stu2 = new Student(); List person = new List(); person.Add(stu1); person.Add(stu2); //… 子类对象可以 替换父类 里氏替换原则(LSP) 子类的对象能够替换其父类 父类对象不能够替换子类 父类的方法都要在子类中实现或者重写

is与as操作符 ◆s检查对象是否与指定类型兼容 if(person[i]is Student) 判断person集合的元素是 否是Student对象 ◆as用于在兼容的引用类型之间执行转换 for(int i=0;i<Students.Count;i++) Student stu Students[i]as Student; 一种类型转换方式 Console.WriteLine(stu.Name); 转换失败返回值为空
is与as操作符 is 检查对象是否与指定类型兼容 if (person[i] is Student) 判断person集合的元素是 否是Student对象 as 用于在兼容的引用类型之间执行转换 for (int i = 0; i < Students.Count; i++) { Student stu = Students[i] as Student; Console.WriteLine(stu.Name); } 转换失败返回值为空 一种类型转换方式

为什么需要抽象工厂设计模式 分 简单工厂设计模式原理结构 父类产品 客户 子类产品A 子类产品B 子类产品C 什么是抽象工厂设计模式
为什么需要抽象工厂设计模式 父类产品 子类产品A 子类产品B 子类产品C 工厂 客户 :简单工厂设计模式原理结构 什么是抽象工厂设计模式

什么是抽象工厂设计模式 分折 抽象工厂设计模式原理结构 抽象工厂 客户 抽象产品A 实体工厂1 实体工厂2 *实体产品A2 实体产品A1 抽象产品B 人 实体产品B2 实体产品B1 ,88438488889888881n8345
什么是抽象工厂设计模式 抽象工厂 实体工厂1 实体工厂2 抽象产品A 抽象产品B 实体产品B2 实体产品B1 实体产品A2 实体产品A1 客户 :抽象工厂设计模式原理结构