工厂模式(Factory)

简介:

有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单AcerLenovoDell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工厂模式。

 

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace Factory
 7 {
 8     class Laptop
 9     {
10     }
11     class LaptopHP : Laptop
12     {
13         public LaptopHP()
14         {
15             Console.WriteLine("生产了一台惠普电脑");
16         }
17     }
18     class LaptopAcer : Laptop
19     {
20         public LaptopAcer()
21         {
22             Console.WriteLine("生产了一台宏基电脑");
23         }
24     }
25     class LaptopLenovo : Laptop
26     {
27         public LaptopLenovo()
28         {
29             Console.WriteLine("生产了一台联想电脑");
30         }
31     }
32     class LaptopDell : Laptop
33     {
34         public LaptopDell()
35         {
36             Console.WriteLine("生产了一台戴尔电脑");
37         }
38     }
39     interface IFactory
40     {
41         Laptop CreateLaptop();
42     }
43     class HPFactoy : IFactory
44     {
45         public Laptop CreateLaptop()
46         {
47             return new LaptopHP();
48         }
49     }
50     class AcerFactory : IFactory
51     {
52         public Laptop CreateLaptop()
53         {
54             return new LaptopAcer();
55         }
56     }
57     class LenovorFactory : IFactory
58     {
59         public Laptop CreateLaptop()
60         {
61             return new LaptopLenovo();
62         }
63     }
64     class DellFactory : IFactory
65     {
66         public Laptop CreateLaptop()
67         {
68             return new LaptopDell();
69         }
70     }
71 
72     class Program
73     {
74         static void Main(string[] args)
75         {
76             IFactory laptopFactory = new HPFactoy();
77             Laptop laptop = laptopFactory.CreateLaptop();
78             laptopFactory = new AcerFactory();
79             laptop = laptopFactory.CreateLaptop();
80             laptopFactory = new LenovorFactory();
81             laptop = laptopFactory.CreateLaptop();
82             laptopFactory = new DellFactory();
83             laptop = laptopFactory.CreateLaptop();
84         }
85     }
86 }
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/05/14/2500548.html,如需转载请自行联系原作者

相关文章
|
移动开发 算法 调度
【贪心算法】一文让你学会“贪心”(贪心算法详解及经典案例)
贪心算法是一种非常常见的算法,它的简单和高效性使其在实际应用中被广泛使用。 贪心算法的核心思想是在每一步都采取当前状态下最优的选择,而不考虑未来可能产生的影响。虽然贪心算法不能保证总是得到最优解,但在很多情况下,它可以获得很好的结果。 本篇文章将介绍贪心算法的基本概念和一些经典应用,以及如何通过贪心算法来解决一些实际问题。希望通过本文的阅读,读者可以对贪心算法有更加深刻的理解,并能够在实际问题中应用贪心算法来得到更好的解决方案。 让我们暴打贪心算法吧!
6434 0
|
架构师 安全 程序员
软考资料-分享
本文提供了计算机软考资源分享,包括高级、中级和初级三个层次的专业课程。高级课程如系统架构师、网络规划设计师等,中级课程如网络工程师、数据库系统工程师等,初级课程如网络管理员、程序员等,覆盖了多种专业方向,适合不同水平的学习者。
6633 0
|
前端开发 JavaScript 数据库
Web的B/S架构
Web的B/S架构
1449 1
|
算法 测试技术 编译器
【算法】优先队列式分支限界法,以01背包问题为例
📑 例题:01背包问题 题目链接:采药-洛谷 当洛谷上不让下载测试用例,可以试试:采药-ACWing
1857 0
|
Java C# 数据安全/隐私保护
软件体系结构 - 架构风格(4)面向对象架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(4)面向对象架构风格
1006 0
|
设计模式 Java 应用服务中间件
掌握这30个设计模式真实案例,挑战年薪60W不是梦
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
530 3
|
设计模式
二十三种设计模式全面解析-抽象工厂模式:创造无限可能的工厂之道
二十三种设计模式全面解析-抽象工厂模式:创造无限可能的工厂之道
181 0
|
网络安全 网络架构
https请求SOAP webService接口
https请求SOAP webService接口
450 0
|
搜索推荐 数据库 Nacos
项目实战典型案例8——让软件的使用者成为软件的设计者
项目实战典型案例8——让软件的使用者成为软件的设计者
240 0
|
测试技术
用例图之参与者、用例间的四种关系
用例图之参与者、用例间的四种关系
2008 0

热门文章

最新文章