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

渭南网站建设费用明细小说素材网站

渭南网站建设费用明细,小说素材网站,263网易企业邮箱入口,番禺人才网官网一、为什么需要抽象工厂模式#xff1f; 在工厂模式中#xff0c;我们需要定义多个继承于共同工厂抽象基类的工厂子类#xff0c;这些子类负责创建一个对应的对象。工厂模式存在一个缺点就是#xff1a;每次扩展新的工厂子类#xff0c;就会增加系统的复杂度。 如果我们…一、为什么需要抽象工厂模式 在工厂模式中我们需要定义多个继承于共同工厂抽象基类的工厂子类这些子类负责创建一个对应的对象。工厂模式存在一个缺点就是每次扩展新的工厂子类就会增加系统的复杂度。 如果我们知道把所有产品比如车分为几个产品族比如自行车族、汽车族那么工厂子类就对应指定的产品族进行“批量”创建对象。若有新的产品则工厂子类创建该新产品对象。工厂子类内部逻辑类似于简单工厂模式 抽象工厂模式 类似于简单工厂模式和工厂模式混合运用而成的模式。参考上篇文章“工厂模式”的最后一个代码例子 优点 不需要每次定义一个新的产品类时就要扩展新的工厂子类。工厂子类提供一个产品族中多个对象的创建工作客户端可以方便使用某个产品族中的对象。 缺点 产品族扩展难。要增加一个新系列的某一产品要定义产品抽象类、产品实现类工厂抽象基类工厂子类。 【角色】 某系列抽象基类 用以定义某产品族的特征和行为的抽象接口。 某系列的某产品实现类 继承某系列抽象基类用以实现某系列里某产品的特征和行为的具体类。 工厂抽象基类 用以定义创建对象的特征的抽象接口。特征行为包括提供某系列产品的抽象方法。 工厂子类 对对应的实现类进行实例化。实现提供某系列某产品的方法。 二、例子 需求 假定某些地方的主要交通工具有自行车和汽车。为了满足人们交通便利的需求现有XX公司和YY公司这两家公司对市场推行了两种运营模式租车和共享车。也就是说租车和共享车是这两家公司所推广的两个产品系列业务即两个产品族。 1定义产品族和具体产品 //共享车系列产品族public abstract class Share{public abstract void Move();}//租借车系列public abstract class Rent{public abstract void Move();}//XX公司-共享-自行车public class XXBikeShare : Share{public override void Move(){Console.WriteLine(Share XXBike move.);}}//XX公司-共享-汽车public class XXCarShare : Share{public override void Move(){Console.WriteLine(share XXCar move.);}}//XX公司-租借-自行车public class XXBikeRent : Rent{public override void Move(){Console.WriteLine(Rent XXBike move.);}}//XX公司-租借-汽车public class XXCarRent : Rent{public override void Move(){Console.WriteLine(Rent XXCar move.);}}//YY公司-共享-自行车public class YYBikeShare : Share{public override void Move() {Console.WriteLine(share YYBike move.);}}//YY公司-共享-汽车public class YYCarShare : Share{public override void Move() {Console.WriteLine(share YYCar move.);}}//YY公司-租借-自行车public class YYBikeRent : Rent{public override void Move(){Console.WriteLine(Rent YYBike move.);}}//YY公司-租借-汽车public class YYCarRent : Rent{public override void Move(){Console.WriteLine(Rent YYCar move.);}} 2定义工厂基类和工厂子类 //定义提供两个产品族的抽象方法public abstract class Factory{public abstract Share ProvideS(string args);public abstract Rent ProvideR(string args);}//XX公司落实产品业务租借和共享public class XXFactory : Factory{public override Share ProvideS(string args){Share share null;switch (args){case XXBike:share new XXBikeShare(); break;case XXCar:share new XXCarShare(); break;default:throw new ArgumentException(args is Invalid. new obj failed.);}return share;}public override Rent ProvideR(string args){Rent rent null;switch (args){case XXBike:rent new XXCarRent(); break;case XXCar:rent new XXBikeRent(); break;default:throw new ArgumentException(args is Invalid. new obj failed.);}return rent;}}//YY公司落实产品业务租借和共享public class YYFactory : Factory{public override Share ProvideS(string args){Share share null;switch (args){case YYBike:share new YYBikeShare(); break;case YYCar:share new YYCarShare(); break;default:throw new ArgumentException(args is Invalid. new obj failed.);}return share;}public override Rent ProvideR(string args){Rent rent null;switch (args){case YYBike:rent new YYBikeRent(); break;case YYCar:rent new YYCarRent(); break;default:throw new ArgumentException(args is Invalid. new obj failed.);}return rent;}} 3在客户端使用 class Program{static void Main(string[] args){Factory xx new XXFactory();Factory yy new YYFactory();var sharexxCar xx.ProvideS(XXCar);sharexxCar.Move();var rentyyBike yy.ProvideR(YYBike);rentyyBike.Move();Console.ReadLine();}}
http://www.yutouwan.com/news/191741/

相关文章:

  • 学校如何建设网站首页wordpress网页文件太多
  • 河南省建设厅专业业务系统网站泗洪网页定制
  • 建设网站首页应该采用编程python适合多大孩子学
  • 旅游网站源码wordpress获取当前分类名称
  • 网站域名费用小型网站网站建设需要
  • 威胁网站检测平台建设wordpress网站静态化
  • 网站建设方案包括哪些内容做软件的步骤
  • 网站如何实现多语言网络运维工程师求职信
  • 企业网站建设的管理制度汕头免费建设网站制作
  • 做团餐 承包食堂的企业网站wordpress更改默认登录页面
  • 建站最好的游戏开发公司排名
  • 石家庄网站建设seo中国互联网协会先后制定并发布了
  • 重庆万州网站建设公司电话app软件开发用什么软件
  • 网站的技术建设方案wordpress怎样分类目录添加标签
  • 优化网站排名提高香河住房与建设局网站
  • 专业的网站建设公哪家专业房屋在线设计网站
  • 做网站的网站违不违法网页网站开发
  • 网站子站点是什么意思东莞市国外网站建设平台
  • 做垂直行业网站利润分析wordpress插件和主题区别
  • 青岛网站模板做网站需要准备的东西
  • 苏州建网站需要什么怎么免费建设个人博客网站
  • 新网站制作平台创新的南昌网站建设
  • 有关网站建设的说说禁忌网站有哪些
  • 静态网站 搜索功能英文企业网站源码 asp
  • 南通市交通建设处网站求职简历免费下载模板
  • 当当网站建设优点大连金州区旅游景点
  • 网站空间续费合同学网页设计需要什么学历
  • seo网站排名优化案例北京网站制作百度推广
  • 网站建设培训福州武器系统软件开发文档
  • 扬州建设企业网站做食物网站