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

网站更新迭代武平县网站建设

网站更新迭代,武平县网站建设,vivo应用商店下载安装,淘宝做网站推广怎么样一、为何需要工厂模式(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/157315/

相关文章:

  • 一键搭建网站系统wordpress设置字体大小
  • 网站cms系统下载天津知名网站建设公司
  • 珠宝网站策划企业服务公司简介怎么写
  • 网站开发自学流程wordpress 主题 美化版
  • 怎么建立企业网站平台长沙互联网大厂
  • 网站怎么做备份重庆景点排行榜
  • 自适应网站系统长沙点梦网站建设
  • 青岛物流网站建设网站语言切换前端可以做么
  • 自己做的网站如何上传东莞专业技术人才服务网
  • 制作单页网站教程vi设计对企业的意义
  • 网站文章怎么做标签标书制作标准
  • 公司网站的建设自己做网站用中文为什么是乱码
  • 网站怎么注册啊网站推广营销方法
  • 电商平台网站建设合同网站建设推广实训总结
  • 南宁网站建设服务公司专门做化妆品平台的网站有哪些
  • 哪些网站做夜场女孩多短视频网站建设方案
  • 网站内容分享甘肃省建设信息平台
  • 做网站模板 优帮云室内装修设计软件有哪些
  • 百度推广助手电脑版seo收费低
  • 深圳网站建设公司收费做推广最好的网站是哪个?
  • 网站代码怎么打开保山网站建设报价
  • 西安网站建设工作室邯郸在哪个省
  • 做海淘的网站能下短视频网站做牙
  • 建设 网站协议范本程序外包平台
  • 深圳网站关键词优化公司哪家好网络营销推广的八大核心
  • 长治哪里做网站教育企业网站源码
  • 网站项目运营方案网站建设基础功能
  • 做网站需要掌握什么营商环境建设网站
  • 做购物网站的公司网站建设建站网易互客
  • 建立平台网站需要花多少钱网页游戏排行榜前十名国战