- 浏览: 487546 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
gapper:
多谢!!!
软件项目解决方案模板 -
lxyizy521:
感谢你无私的分享,正头疼文档的事情呢。
软件项目解决方案模板 -
flyisland:
不错的资料收集的心得,多谢分享!
如何从小工到专家——Dreyfus模型应用 -
a254124185:
Java编码规范及实践 -
clj2008tom:
LZ好久没更新了,呵呵
graphviz 在redhat as4 下的安装
自己CSDN blog 上回收来的,以后都集中到这里了。
设计模式-建造模式
参考资料:
《java与模式》
《设计模式-可复用面向对象软件的基础》
《C#技术揭密》
摘要:介绍Gof设计模式创建模式中的建造模式,结合一个生活中的一个,来说明建造模式的使用场合和使用方法
工厂模式中,创建对象是直接创建的,而对一个复杂的对象来说,用建造模式更适合,它一步一步的创建一个复杂对象。
基本的模式是这样的
interface Builder { //建造“零件” void BuildPart1(); void BuildPart2(); //返回产品 Product GetProduct(); }
这样从此类继承的建造者,可以根据上面定义的两种建造零件方法,构造任意复杂的建造者。
/* * created by sharpdevelop. * user: administrator * date: 2004-12-02 * time: 19:57 * * to change this template use tools | options | coding | edit standard headers. */ using System; namespace builder { class mainclass { public static void Main(string[] args) { SnackShop snackShop=new SnackShop(); NoodleBuilder bcnwc=new BeefCutNoodleWithCarawayBuilder(); Noodle noodle=snackShop.CreateBeefCutNoodleWithCaraway(bcnwc); Console.ReadLine(); } } //定义快餐店,导演者的角色 class SnackShop { public SnackShop() { } //客户端创建加香菜牛肉刀削面的方法 public Noodle CreateBeefCutNoodleWithCaraway(NoodleBuilder noodleBuilder) { noodleBuilder.BuildNoodle(); noodleBuilder.BuildMeat(); noodleBuilder.BuildPureNoodle(); noodleBuilder.BuildSoup(); noodleBuilder.BuildVegetable(); Console.WriteLine("一碗香喷喷的牛肉刀削面加香菜做好啦!\n"); return noodleBuilder.GetNoodle(); } } //定义面条构造器接口 interface NoodleBuilder { void BuildNoodle(); void BuildPureNoodle(); void BuildMeat(); void BuildVegetable(); void BuildSoup(); Noodle GetNoodle(); } //肉类 public class Meat { public Meat() { } void Make() { } } //纯面条类 public class PureNoodle { void Make() { } } //蔬菜类 public class Vegetable { void Make() { } } //汤类 public class Soup { public Soup() { } void Make() { } } //定义拉面,它从纯面条类继承 public class PullPureNoodle:PureNoodle { public PullPureNoodle() { Console.WriteLine("拉面做好了\n"); } public void Make() { } } //定义刀削面,它从纯面条类继承 public class CutPureNoodle:PureNoodle { public CutPureNoodle() { } public void Make() { } } //定义青菜 public class Greengrocery:Vegetable { public Greengrocery() { Console.WriteLine("青菜买好了\n"); } public void Make() { } } //定义香菜 public class Caraway :Vegetable { public Caraway() { } public void Make() { } } //定义羊肉 public class Mutton:Meat { public Mutton() { Console.WriteLine("羊肉做好了\n"); } public void Make() { } } //定义牛肉 public class Beef:Meat { public Beef() { } public void Make() { } } //定义面条类 public class Noodle { public PureNoodle pureNoodle; public Vegetable vegetable; public Soup soup; public Meat meat; public Noodle() { pureNoodle=new PureNoodle(); vegetable=new Vegetable(); soup=new Soup(); meat=new Meat(); } } //定义牛肉刀削面的建造者逻辑 class BeefCutNoodleWithCarawayBuilder :NoodleBuilder { public BeefCutNoodleWithCarawayBuilder() { } private Noodle noodle; public void BuildPureNoodle() { noodle.pureNoodle=new CutPureNoodle(); Console.WriteLine("2.刀削面做好了\n"); } public void BuildVegetable() { noodle.vegetable=new Caraway(); Console.WriteLine("4.香菜洗好了\n"); } public void BuildMeat() { noodle.meat=new Beef(); Console.WriteLine("1.牛肉做好了 \n"); } public void BuildSoup() { noodle.soup=new Soup(); Console.WriteLine("3.面汤做好了\n"); } public void BuildNoodle() { Console.WriteLine("开始做牛肉刀削面啦 \n"); noodle=new Noodle(); } public Noodle GetNoodle() { return noodle; } } } /*运行结果: * 开始做牛肉面条啦 1.牛肉做好了 2.刀削面做好了 3.面汤做好了 4.香菜洗好了 一碗香喷喷的牛肉刀削面做好啦! */
发表评论
-
如何在公司中引入新思路——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 9651. 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 1078为一组类提供简单的外部接口,使外部调用者不需要和所 ... -
设计模式快速参考-组合模式
2008-12-06 07:00 1080abstract class Hardware{ } cla ... -
设计模式快速参考-适配器模式
2008-12-06 06:49 1268interface Powerable{ 110v ...
相关推荐
很抱歉,但根据提供的文件信息,“六年级一碗牛肉面阅读答案.doc”似乎是一个与IT行业无关的文档,它可能包含小学六年级阅读理解题目及答案,不适合生成IT相关的专业知识点。如果你需要关于阅读理解策略或者教育类的...
这篇文档虽然标题为《一碗牛肉面想到的孝顺礼仪》,但实际上讲述的是一个关于孝道的故事。故事中的小男孩通过自己的方式感恩奶奶,体现了孝顺的美德。在这个简短的故事中,我们可以提炼出几个重要的知识点: 1. ...
在软件工程中,简单工厂模式是一种用于创建对象的设计模式,它封装了对象的创建过程。在这个模式中,存在一个工厂类,它根据输入参数决定创建哪种类型的对象。在文中提到的场景中,“打完篮球真累,正好边上有个小摊...
《一种牛肉分割操作平台》的设计装置是食品加工领域中的一项创新技术,主要针对牛肉分割的高效、安全与精准性需求。这份文档详细介绍了该平台的结构、功能、工作原理以及其在实际生产中的应用,旨在提升牛肉加工的...
本文件"行业文档-设计装置-一种健脾开胃牛肉酱及其制备方法.zip"虽然看似与传统的IT技术不太相关,但它实际上可以关联到食品科技、智能制造、包装设计以及数字化流程管理等多个领域。下面将详细探讨这些知识点。 ...
工厂模式是一种常用的软件设计模式,它的核心思想在于将实例化的责任交给一个专门的类——工厂类。这样做的好处是用户无需了解创建对象的具体过程,只需要知道如何获取对象。比如,当您带女朋友出去吃饭时,无论是在...
在IT行业中,尽管“设计装置”...综上所述,虽然这个“行业文档-设计装置-一种酱牛肉的制作工艺.zip”看似不属于传统的IT领域,但它在文档管理、信息共享、数字资源处理、协同工作以及合规性方面涉及了IT技术的应用。
初中语文文摘历史两千元一碗牛肉面
初中语文文学讨论美文荐读两碗牛肉面
兰州牛肉面是一种非常流行的中国面食,拥有悠久的历史和独特的特点。以下是关于兰州牛肉面的知识点: 历史: 兰州牛肉面有85年的历史,始创于1915年,由回族人马保子创办。当时,马保子家境贫寒,为生活所迫,他在...
在广袤的西北大地上,有一种美食承载着深厚的文化底蕴和浓浓的家乡情怀,那就是兰州牛肉面。这道源自甘肃省兰州市的传统面食,以其独特的口感和制作工艺,成为了无数食客心中的美食佳肴。 兰州牛肉面的面条讲究...
6. **移动应用与用户界面**:为用户设计友好的移动应用,让他们能够远程控制烹饪过程,预设烹饪模式,或者获取食谱建议,提高用户体验。 7. **云计算与大数据**:存储和处理大量生产数据需要云计算能力,通过大数据...
在IT行业中,尽管"行业文档-设计装置-一种健脾活血牛肉酱的制备方法.zip"这个文件标题看似与信息技术直接关联性不大,但它实际上可能涉及到食品科技、自动化生产和工业设计等领域。在这个标题中,“设计装置”可能是...
建造者模式(Builder Pattern)是一种创造型设计模式,用于将一个复杂对象的构造与其表示分离,使同样的构建过程可以创建不同的表示。该模式通过将一个复杂对象分解为多个简单的对象,逐步完成复杂对象的构建。建造...
台湾牛肉面的特色在于其独特的风味,包括香软的牛肉、浓郁的汤底和丰富的配菜,这些都是构成一碗美味牛肉面不可或缺的元素。文章中提到,一碗好的牛肉面应该在上桌时就能散发出肉香、面香和汤香,令人垂涎欲滴,甚至...
【标题】与【描述】中的"两碗红烧牛肉面作文.doc"实际上是一个与IT行业不直接相关的主题,它更倾向于文学创作或个人生活记录。然而,我们可以从中挖掘出一些与IT相关的知识点,比如文档处理和文字编辑。 1. **文档...
4. **建造者模式(Builder)**:将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 5. **原型模式(Prototype)**:通过复制已有对象来创建新对象,减少创建新对象的成本。 6. **适配器...
### 追MM与设计模式——IT知识解析 ...设计模式是一种重要的编程思想,掌握它们对于提高软件开发的质量和效率具有重要意义。无论是创建型模式还是结构型模式,都能够帮助开发者更加灵活高效地解决实际问题。
兰州牛肉面是以速食面、牛肉汤为原料,配以脱水蔬菜、油辣椒包、牛肉包、萝卜包,经包装等工序制成的一种食品。本标准规定了兰州牛肉面的术语和定义、技术要求、试验方法、检验规则、标志、包装、运输及贮存。 技术...