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

临沂网站建设兼职/百度com打开

临沂网站建设兼职,百度com打开,东莞地图全图,五一劳动节网页设计素材作者注:工厂类方法的例子参考了这位老兄的文章:http://www.cnblogs.com/fortune/archive/2007/09/12/890729.html这里是为了给大家展示一下工厂模式和扩展方法给大家编程带来的扩展性和灵活性。 啥也不说,直接上code :)先建立产品的抽象类&am…

 

作者注:工厂类方法的例子参考了这位老兄的文章:http://www.cnblogs.com/fortune/archive/2007/09/12/890729.html
这里是为了给大家展示一下工厂模式和扩展方法给大家编程带来的扩展性和灵活性。

 

啥也不说,直接上code :)先建立产品的抽象类:

 

ContractedBlock.gifExpandedBlockStart.gifAbstractCar.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Web;
 5
 6namespace DPTest.Factory
 7ExpandedBlockStart.gifContractedBlock.gif{
 8    public abstract class AbstractCar
 9ExpandedSubBlockStart.gifContractedSubBlock.gif    {
10        public string name = String.Empty;
11        public abstract void Startup();
12        public abstract void Run();
13        public abstract void Turn();
14        public abstract void Stop();
15    }

16}

17

 再建立具体的产品类:

ContractedBlock.gifExpandedBlockStart.gifHongQiCar.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Web;
 5
 6namespace DPTest.Factory
 7ExpandedBlockStart.gifContractedBlock.gif{
 8    public class HongQiCar : AbstractCar
 9ExpandedSubBlockStart.gifContractedSubBlock.gif    {
10        public override void Startup()
11ExpandedSubBlockStart.gifContractedSubBlock.gif        {
12            
13        }

14
15        public override void Run()
16ExpandedSubBlockStart.gifContractedSubBlock.gif        {
17        }

18
19        public override void Turn()
20ExpandedSubBlockStart.gifContractedSubBlock.gif        {
21        }

22
23        public override void Stop()
24ExpandedSubBlockStart.gifContractedSubBlock.gif        {
25        }

26
27        public HongQiCar()
28ExpandedSubBlockStart.gifContractedSubBlock.gif        {
29            this.name = "HongQi";
30        }

31
32    }

33}

34

 

建立抽象工厂类:

ContractedBlock.gifExpandedBlockStart.gifAbstractFactory.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Web;
 5
 6namespace DPTest.Factory
 7ExpandedBlockStart.gifContractedBlock.gif{
 8    public abstract class AbstractFactory
 9ExpandedSubBlockStart.gifContractedSubBlock.gif    {
10        public abstract AbstractCar CreateCar();
11    }

12}

13

再建立具体工厂类:

ContractedBlock.gifExpandedBlockStart.gifHongQiCarFactory.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Web;
 5
 6namespace DPTest.Factory
 7ExpandedBlockStart.gifContractedBlock.gif{
 8    public class HongQiCarFactory : AbstractFactory
 9ExpandedSubBlockStart.gifContractedSubBlock.gif    {
10        public override AbstractCar CreateCar()
11ExpandedSubBlockStart.gifContractedSubBlock.gif        {
12            return new HongQiCar();
13        }

14    }

15}

16

 

再建立个通用管理类:

ContractedBlock.gifExpandedBlockStart.gifCarManager.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Web;
 5
 6namespace DPTest.Factory
 7ExpandedBlockStart.gifContractedBlock.gif{
 8    public class CarManager
 9ExpandedSubBlockStart.gifContractedSubBlock.gif    {
10        public static AbstractCar GetHongQiCar(AbstractFactory factoryParameter)
11ExpandedSubBlockStart.gifContractedSubBlock.gif        {
12            AbstractFactory factory = factoryParameter;
13            return factory.CreateCar();
14        }

15    }

16}

17

 

这样一来,我们的红旗车工厂就建好了。哈哈,通用都破产保护了,我竟然还在建汽车工厂。说明中国的经济还是不错的嘛。

我现在想生产一辆红旗汽车,代码是相当的简单:

ContractedBlock.gifExpandedBlockStart.gifProgram.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Text;
 5using DPTest.Factory;
 6
 7namespace CSharpEssentialTest
 8ExpandedBlockStart.gifContractedBlock.gif{
 9    class Program
10ExpandedSubBlockStart.gifContractedSubBlock.gif    {
11        static void Main(string[] args)
12ExpandedSubBlockStart.gifContractedSubBlock.gif        {
13            AbstractCar car = CarManager.GetHongQiCar(new HongQiCarFactory());
14            Console.Write(String.Format("Car name:{0}", car.name));
15            
16        }

17    }

18}

19

 

现在用户提出了一个变态的要求,需要这个红旗汽车可以扭来扭去。难道我要重新见个工厂?没资金了,怎么办啊。

不要慌,c#3.0扩展方法来了:

 先建立一个扩展类:

ContractedBlock.gifExpandedBlockStart.gifCommonExtendedMethods.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Text;
 5using DPTest.Factory;
 6
 7namespace CSharpEssentialTest
 8ExpandedBlockStart.gifContractedBlock.gif{
 9    static class CommonExtendedMethods
10ExpandedSubBlockStart.gifContractedSubBlock.gif    {
11        internal static void Twist(this AbstractCar car)
12ExpandedSubBlockStart.gifContractedSubBlock.gif        {
13            Console.Write(car.name + " is twisting.");
14        }

15    }

16}

17

 

然后将我们原来的调用程序就可以用上这个方法了。

ContractedBlock.gifExpandedBlockStart.gifProgram.cs
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Text;
 5using DPTest.Factory;
 6
 7namespace CSharpEssentialTest
 8ExpandedBlockStart.gifContractedBlock.gif{
 9    class Program
10ExpandedSubBlockStart.gifContractedSubBlock.gif    {
11        static void Main(string[] args)
12ExpandedSubBlockStart.gifContractedSubBlock.gif        {
13            AbstractCar car = CarManager.GetHongQiCar(new HongQiCarFactory());
14            Console.Write(String.Format("Car name:{0}", car.name));
15            car.Twist();
16            Console.ReadLine();
17            
18        }

19    }

20}

21

 

汽车真的可以扭来扭去了哦。


 

 

 

http://www.jmfq.cn/news/5230747.html

相关文章:

  • 济南学习网站制作/宁波核心关键词seo收费
  • 网站开发技术主管工作职责/我想做地推怎么找渠道
  • 自己做物流网站/长沙网站托管优化
  • 公司简历模板范文填写/seo关键词排名优化软件
  • 北京网站优化和推广/成都搜索优化排名公司
  • 做爰全过程免费网站的视频教程/品牌策划案
  • 重庆城市建设集团官方网站/引流软件有哪些
  • 不属于常用网站建设的是/老铁外链
  • 深圳宝安网站建设/网络营销是做什么
  • 深圳市住房和建设局工程交易网/seo推广的方法
  • 提高审美的网站推荐/长沙百度网站推广
  • 网上创建公司/上海网站seo外包
  • 网站建设顶呱呱/电工培训机构
  • 卖狗人怎么做网站/seo网址超级外链工具
  • 移动门户网站建设特点/北京网站制作
  • 东营做网站tt0546/seo标题优化是什么意思
  • 彩票类网站是如何做代理的/seo监控
  • 虎门镇做网站/百度 人工客服
  • 绿色家园网站怎么做/cps广告是什么意思
  • 合肥学校网站建设/seo二级目录
  • wd怎样建设一个网站/我想接app纯注册推广单
  • 凡科做网站真的免费吗/9个广州seo推广神技
  • 长沙 建网站/网站推广seo优化
  • 淮安网站建设哪家好/2022最新国内新闻50条简短
  • 手机app软件开发价格/全网seo是什么意思
  • cms 美容网站 模版/seo 优化顾问
  • 深圳做网站多少/关键词优化策略
  • 网站平台建设属于固定资产吗/互联网运营
  • 提供企业网站建设公司/营销排名seo
  • 开公司怎么做网站/关键词seo服务