- 浏览: 487591 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
gapper:
多谢!!!
软件项目解决方案模板 -
lxyizy521:
感谢你无私的分享,正头疼文档的事情呢。
软件项目解决方案模板 -
flyisland:
不错的资料收集的心得,多谢分享!
如何从小工到专家——Dreyfus模型应用 -
a254124185:
Java编码规范及实践 -
clj2008tom:
LZ好久没更新了,呵呵
graphviz 在redhat as4 下的安装
自己CSDN blog 上回收来的,以后都集中到这里了。
参考资料
《java与模式》
上面那本书上的例子举的是园丁和果园的例子,学习设计模式最好在生活中自己找个例子实践一下,下面是我自己的一个例子,是讲快餐店的例子,快餐店提供很多食物,比如面条,米饭,面包。首先定义了一个Food接口,然后这些食物都从它来继承,定义了一个大厨他包办所有食物的制作工作,这就是我所理解的简单工厂模式的概念,下面是源代码:
using System; namespace SimpleFactoryPattern { /// <summary> /// 简单工厂模式示例 /// </summary> class SimpleFactoryPattern { //定义Food接口 public interface Food { //烹饪 void Cook(); //卖出 void Sell(); } //Noodle public class Noodle:Food { public Noodle() { Console.WriteLine("\nThe Noodle is made.."); } private int price; //面条Noodle的Cook方法接口实现 public void Cook() { Console.WriteLine("\nNoodle is cooking..."); } //面条Noodle的Sell方法接口实现 public void Sell() { Console.WriteLine("\nNoodle has been sold..."); } public int Price { get{return this.price;} set{price=value;} } } //Rice public class Rice:Food { public Rice() { Console.WriteLine("\nThe Rice is made .."); } private int price; public void Cook() { Console.WriteLine("\nRice is cooking..."); } public void Sell() { Console.WriteLine("\nRice has been sold..."); } public int Price { get{return this.price;} set{price=value;} } } //Bread public class Bread:Food { public Bread() { Console.WriteLine("\nThe Bread is made...."); } private int price; public void Cook() { Console.WriteLine("\nBread is cooking..."); } public void Sell() { Console.WriteLine("\nBread has been sold..."); } public int Price { get{return this.price;} set{price=value;} } } //定义大厨,他包办这个快餐店里的所有Food,包括面条,面包和米饭 class Chef { public static Food MakeFood(string foodName) { try { switch(foodName) { case "noodle": return new Noodle(); case "rice":return new Rice(); case "bread":return new Bread(); default:throw new BadFoodException("Bad food request!"); } } catch(BadFoodException e) { throw e; } } } //异常类,该餐馆没有的食品 class BadFoodException: System.Exception { public BadFoodException(string strMsg) { Console.WriteLine(strMsg); } } /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { Food food=Chef.MakeFood("bread"); food.Cook(); food.Sell(); Console.ReadLine(); } } }
发表评论
-
如何在公司中引入新思路——fearless change
2009-09-28 00:21 1413我前面的博客也提到,在一个公司中,引入一个新的想法,获得成功并 ... -
Code Review Patterns
2009-06-23 09:57 1509整理了一下Code Review中 ... -
团队分析与设计(TeamAnalysisDesignPattern)
2009-04-11 14:31 14461)Problem 问题域比较复杂,团队中没有人能 ... -
极限会议模式(ExtremeMeeting)
2009-03-17 13:38 1893名字自己随便取的,如有雷同,纯属巧合。 1. Proble ... -
5W问题分析模式
2009-03-10 08:41 01. Problem 当遇到问题,手足无措时。 2. So ... -
影响分析模式(InfluenceAnalysisPattern)
2009-03-06 23:58 12581. Problem 解决问题,进行决策和面对改变时, ... -
全局目标导向模式(GlobalTargetOrientedPattern)
2009-03-05 23:08 9661. Problem 一个团队在做事情的过 ... -
通讯录模式(AddressListPattern)
2009-03-02 22:10 1527模式是实践的抽象,今天我来总结一下通讯录模式。 1. Pr ... -
导航者模式(NavigatorPattern)
2009-02-28 10:40 01. Problem 人是容易犯错的,而且但线条的。 ... -
Double Dispatch(双分派)
2009-02-04 11:24 2501参考资料: http://en.wikipedia ... -
有人的地方就有江湖
2009-01-30 08:54 2343有人的地方就有 ... -
设计模式快速参考-参观者模式
2008-12-06 07:27 1673参观者模式主要对一组固定结构的对象进行访问,一般和组合模式一起 ... -
设计模式快速参考-模板方法模式
2008-12-06 07:21 1095abstract class TravelTemplate ... -
设计模式快速参考-策略模式
2008-12-06 07:17 1209//密钥对生成接口 interface IKeyPairGen ... -
设计模式快速参考-观察者模式
2008-12-06 07:13 1315//主题,这里是快餐店 class SnackShop{ ... -
设计模式快速参考-命令模式
2008-12-06 07:10 1312interface ICommand{ void e ... -
设计模式快速参考-代理模式
2008-12-06 07:07 1248class FileDownloader( publ ... -
设计模式快速参考-外观模式
2008-12-06 07:03 1079为一组类提供简单的外部接口,使外部调用者不需要和所 ... -
设计模式快速参考-组合模式
2008-12-06 07:00 1081abstract class Hardware{ } cla ... -
设计模式快速参考-适配器模式
2008-12-06 06:49 1268interface Powerable{ 110v ...
相关推荐
简单工厂模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是在系统中如何创建对象的问题。设计模式是软件开发中的经验总结,旨在提高代码的可重用性、可读性和可维护性。 在简单工厂模式中,一个工厂...
本资料来源于吕震宇博客,欢迎访问 ...经过整理,方便大家阅读。...C#设计模式(4)-Simple Factory Pattern C#设计模式(3) - 设计原则(2) C#设计模式(2) - 设计原则(1) C#设计模式(1) - 面向对象基本概念复习
简单工厂(Simple Factory)模式 - **定义**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 - **结构**:包括产品接口、具体产品类和工厂类。 - **优点**:封装了产品的创建细节,简化客户端代码。 - ...
简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定应该创建出哪一个产品类的实例。简单工厂模式实际上不属于23个GoF模式,但它可以作为GoF的工厂方法模式(Factory Method)的一个引导。 UML: ...
- **简单工厂(SimpleFactory)模式**:提供了一个创建对象的接口,但让子类决定实例化哪个类。 - **工厂方法(FactoryMethod)模式**:定义了创建对象的接口,但允许子类决定实例化哪一个类。 - **抽象工厂...
简单工厂模式(Simple Factory Pattern)是一种常用的设计模式,它属于创建型模式。这种模式提供了一个创建对象的静态方法,这个方法可以根据传入的一个参数决定应该实例化哪一个类。简单工厂模式的主要优点是客户端...
简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,降低了客户端代码与具体产品类之间的耦合度。在本实验中,我们将深入理解和应用C#语言实现简单工厂模式。 简单工厂模式的...
1. **简单工厂模式(Simple Factory)** 简单工厂模式通过一个静态工厂类来创建对象,这个工厂类负责判断应创建哪种类型的实例并返回。在C#中,你可以定义一个静态类,其中包含一个或多个静态方法,这些方法根据...
- 简单工厂模式(Simple Factory):也称为静态工厂模式,它通常包含一个静态方法,根据传入的参数或条件决定创建哪种类型的对象。在本例中,`Driver`类就是一个简单的工厂,根据字符串参数返回对应的汽车实例(Benz...
1. 简单工厂模式(Simple Factory Pattern) 简单工厂模式是工厂模式的最基础形式,通过一个公共的工厂类来创建对象。这个工厂类通常包含一个静态方法,可以根据传入的参数来决定创建哪个类的实例。这种模式适用于...
深入了解 C# 设计模式之简单工厂模式 简单工厂模式是 C# 设计模式中的一种,它主要用于解决对象创建的问题,提供了一种简单的方式来创建对象。这种模式属于 Creational Pattern,主要用于对象的创建。 在简单工厂...
简单工厂(Simple Factory)模式 ③设计模式的征途-03。工厂方法(Factory Method)模式 ④设计模式的征途-04。抽象工厂(Abstract Factory)模式 ⑤设计模式的征途-05。原型(原型)模式 ⑥设计模式的征途-06。建造...
在软件设计模式中,工厂模式是一种非常常见的创建型模式,它的主要目的是将对象的创建过程封装起来,使得创建过程与使用过程分离,提供一个统一的接口来生成不同类型的实例。在这个场景中,我们讨论的是如何在C#中...
总之,工厂模式及其三种变体——简单工厂模式、工厂方法模式和抽象工厂模式——都是C#设计模式中不可或缺的一部分,它们在构建灵活、可扩展和易于维护的软件系统中发挥着关键作用。理解并熟练运用这些模式,对于提高...
简单工厂模式是软件设计模式中的一种结构型模式,它的主要作用是将对象的创建过程封装起来,使得创建过程与客户端代码解耦。在这个例子中,我们可能会看到一个具体的应用场景来展示这种模式。 简单工厂模式的核心是...
简单工厂模式是一种常见的设计模式,虽然它不属于GOF的23种经典设计模式,但在实际开发中被广泛应用。它的主要目标是将对象的创建过程封装起来,使得客户端代码无需了解具体的实现细节,只需要通过工厂类就能获取所...
1、简单工厂模式(Simple Factory Pattern): 简单工厂模式通过一个工厂类来决定创建哪种具体类的实例。这个工厂类通常提供一个静态方法,根据传入的参数创建相应的对象。 2、工厂方法模式(Factory Method ...