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

织梦添加网站音乐破解WordPress站点

织梦添加网站音乐,破解WordPress站点,自主建站平台,大连自助建站一、为何需要工厂模式(Factory Pattern)? 由于简单工厂模式存在一个缺点,如果工厂类创建的对象过多,使得代码变得越来越臃肿。这样导致工厂类难以扩展新实例,以及难以维护代码逻辑。于是在简单工厂模式的基础上&…

一、为何需要工厂模式(Factory Pattern)?

由于简单工厂模式存在一个缺点,如果工厂类创建的对象过多,使得代码变得越来越臃肿。这样导致工厂类难以扩展新实例,以及难以维护代码逻辑。于是在简单工厂模式的基础上,对工厂类进一步优化。

特点: 定义一个工厂抽象基类,让其子类自己决定实例化哪一个工厂类。即在创建过程延迟到子类进行。

优点: 解决了工厂类难以扩展和难以维护的问题。如果想要怎么样的的实例,就要扩展一个其对应的工厂子类就可以了。

缺点: 每次扩展新的工厂子类,就会增加系统的复杂度。

合理应用条件

  • 客户端不需要关心创建对象。
  • 预留创建不同对象的空间,方便为新需求扩展不同的新实例。

角色
抽象基类: 用以定义特征和行为的抽象接口。
实现类: 继承抽象基类,用以实现特征和行为的具体类。
工厂抽象基类: 用以定义创建对象的特征的抽象接口
工厂子类: 对对应的实现类进行实例化。
请添加图片描述

二、例子

需求:
提供一辆汽车和一辆自行车。

    public abstract class Vehicle{public abstract void Move();}public  class Car: Vehicle{public override void Move(){Console.WriteLine("Drive");}}public  class Bicycle : Vehicle{public override void Move(){Console.WriteLine("By Bike");}}public abstract class Factory{public abstract Vehicle Create();}public class CarFactory:Factory{public override Vehicle Create(){return new Car();}}public class BicycleFactory : Factory{public override Vehicle Create(){return new Bicycle();}}class Program{static void Main(string[] args){Factory carFactory = new CarFactory();Factory bicycleFactory = new BicycleFactory();Vehicle car = carFactory.Create();Vehicle bicycle = bicycleFactory.Create();car.Move();bicycle.Move();Console.ReadLine();}}

简单工厂模式和工厂模式一起运用

//在工厂模式下,运用简单工厂模式。
public class BicycleFactory:Factory  
{  public override Vehicle Create(string args)  {  switch(args)  {  case "Black":  return new BlackBicycle();  case "Blue":  return new BlueBicycle();  }  return null;  }  
}  
http://www.yayakq.cn/news/102921/

相关文章:

  • 建设众筹类网站资讯网站
  • 图片在线编辑网站河北建设厅网站上不去
  • 深圳罗湖区网站开发公司做哪种类型的网站赚钱呢
  • 外贸网站域名服务商如何做网站域名
  • 常州云计算网站建设上海seo优化培训机构
  • 建设厂招工信息网站淘宝官网首页版本
  • 网站忧化工作怎么样加气站类型的网站建设
  • wordpress本地更换为网站域名kusanagi wordpress
  • 中国民航机场建设集团公司网站软文编辑器
  • 建网站 考虑wap建站程序哪个好
  • 爱站网站长工具北京关键词优化
  • 本地网站搭建教程优质的南昌网站设计
  • 蒙文网站建设的意义wordpress的音乐插件怎么用
  • 淄博做网站的新华路网站建设
  • 遵义城乡建设网站网站建设责任书
  • 网站建设与运营沈阳建站平台
  • 河北建站公司wordpress插件都是英文
  • wordpress网站管理插件网站推广服务网
  • 设计网站用什么语言婚纱摄影网站建站
  • 如何开发网站自己做站长深圳app开发网站建设
  • 汕头潮阳网站建设广告优化师的工作内容
  • 个人官方网站怎么建设晋江网站建设qzdzi
  • 图书馆网站开发策划书科技公司名字大全
  • 重庆商务网站建设成都app开发
  • 深圳平台网站开发黄山旅游网页设计作业
  • 纪检监察机关网站建设方案建设网站简单的需要多少天
  • 苏州建设教育协会网站可信的网站建设
  • 怎么做网站的思维导图软件工程师分类
  • 手机网站推广网站做数据分析的意义
  • 金融网站素材广州低价网站建设