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

网站制作3种css百度词条优化

网站制作3种css,百度词条优化,家乡网页设计论文,有哪些免费做外贸的网站一、为什么需要抽象工厂模式? 在工厂模式中,我们需要定义多个继承于共同工厂抽象基类的工厂子类,这些子类负责创建一个对应的对象。工厂模式存在一个缺点就是:每次扩展新的工厂子类,就会增加系统的复杂度。 如果我们…

一、为什么需要抽象工厂模式?

在工厂模式中,我们需要定义多个继承于共同工厂抽象基类的工厂子类,这些子类负责创建一个对应的对象。工厂模式存在一个缺点就是:每次扩展新的工厂子类,就会增加系统的复杂度。

如果我们知道把所有产品(比如车)分为几个产品族(比如自行车族、汽车族),那么工厂子类就对应指定的产品族进行“批量”创建对象。若有新的产品,则工厂子类创建该新产品对象。(工厂子类内部逻辑,类似于简单工厂模式)

抽象工厂模式 ,类似于简单工厂模式和工厂模式混合运用而成的模式。(参考上篇文章“工厂模式”的最后一个代码例子)

优点: 不需要每次定义一个新的产品类时,就要扩展新的工厂子类。工厂子类提供一个产品族中多个对象的创建工作,客户端可以方便使用某个产品族中的对象。

缺点: 产品族扩展难。要增加一个新系列的某一产品,要定义产品抽象类、产品实现类,工厂抽象基类,工厂子类。

【角色】
某系列抽象基类: 用以定义某产品族的特征和行为的抽象接口。
某系列的某产品实现类: 继承某系列抽象基类,用以实现某系列里某产品的特征和行为的具体类。
工厂抽象基类: 用以定义创建对象的特征的抽象接口。特征行为包括提供某系列产品的抽象方法。
工厂子类: 对对应的实现类进行实例化。实现提供某系列某产品的方法。

请添加图片描述

二、例子

需求: 假定某些地方的主要交通工具有自行车和汽车。为了满足人们交通便利的需求,现有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.hkea.cn/news/192203/

相关文章:

  • 电子商务学什么课程内容兰州搜索引擎优化
  • 沧州网站建设制作设计优化能打开的a站
  • 石家庄网站建设推广报价怎么让百度快速收录网站
  • 建设局网站上开工日期选不了制作网站需要多少费用
  • 犬舍网站怎么做网页推广怎么做
  • 镇江核酸检测最新通知如何优化网页加载速度
  • wpf入可以做网站吗竞价托管外包费用
  • 公司设计网站需要包含什么资料优化排名软件
  • 日本樱花云服务器wan亚马逊seo关键词优化软件
  • layui框架的wordpress厦门站长优化工具
  • 微网站设计尺寸培训课程总结
  • 保险平台官网湖北搜索引擎优化
  • 西安微信小程序制作公司关键词优化方法
  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设
  • 天津进口网站建设电话青岛网站建设公司
  • 游戏币网站建设win7优化大师官方网站
  • 技术专业网站建设班级优化大师网页版登录
  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询