- 浏览: 202339 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
yixinhu:
你好 能加下你的QQ么 我怎么打出来的exe点击都没反应啊.. ...
java 生成exe 文件 -
chenxiang105:
如果不需要flash 只需要做图片的翻页效果 这个是否也合适类 ...
jQuery插件page peel AD实现动态卷页、翻页或卷角flash广告效果 -
tuoxie007:
幸苦,好文章!
jetspeed门户项目组介绍 -
bobo:
需要考虑不同浏览器的兼容性
通过网页访问本地资源程序 -
tag13346:
说得这么玄,看下
时空趋势理论 --- 超越时空的均线技术(转载 )
工厂发法定义了一个创建对象的接口或者抽象类,但是有子类来决定要实例化的类是哪一个,工厂方法让类把实例化 推迟到子类。
package pattern; import java.util.ArrayList; public abstract class PizzaStore { SimplePizzaFactory factory; public PizzaStore() { } public PizzaStore(SimplePizzaFactory factory) { this.factory = factory; } public Pizza orderPizza(String type) { Pizza pizza; pizza = createPizza(type); pizza.prepare(); pizza.bake(); pizza.cut(); pizza.box(); return pizza; } abstract Pizza createPizza(String type); } class NYPizzaStore extends PizzaStore { Pizza createPizza(String item) { if (item.equals("cheese")) { return new NYStyleCheesePizza(); } else if (item.equals("pepperoni")) { return new NYStylePepperoniPizza(); } else if (item.equals("clam")) { return new NYStyleClamPizza(); } else if (item.equals("veggie")) { return new NYStyleVeggiePizza(); } else return null; } } class ChicagoPizzaStore extends PizzaStore { Pizza createPizza(String item) { if (item.equals("cheese")) { return new ChicagoStyleCheesePizza(); } else if (item.equals("pepperoni")) { return new ChicagoStylePepperoniPizza(); } else if (item.equals("clam")) { return new ChicagoStyleClamPizz(); } else if (item.equals("veggie")) { return new ChicagoStyleVeggiePizza(); } else return null; } } class CaliforniaPizzaStore extends PizzaStore { Pizza createPizza(String item) { if (item.equals("cheese")) { return new CaliforniaStyleCheesePizza(); } else if (item.equals("pepperoni")) { return new CaliforniaStylePepperoniPizza(); } else if (item.equals("clam")) { return new CaliforniaStyleClamPizza(); } else if (item.equals("veggie")) { return new CaliforniaStyleVeggiePizza(); } else return null; } } abstract class Pizza { String name; String dough; String sauce; ArrayList toppings = new ArrayList(); public void prepare() { System.out.println("Preparing" + name); System.out.println("Tossing dough..."); System.out.println("Adding sauce..."); System.out.println("Adding toppings: "); for (int i = 0; i < toppings.size(); i++) { System.out.println(" " + toppings.get(i)); } } public void bake() { System.out.println("Bake for 25 minutes at 350"); } public void cut() { System.out.println("Cutting the pizza into diagonal slices"); } public void box() { System.out.println("Place pizza in official PizzaStore box"); } public String getName() { return name; } } class CheesePizza extends Pizza { public CheesePizza() { System.out.println("Cheesepizza"); } } class NYStyleCheesePizza extends Pizza { public NYStyleCheesePizza() { name = "NY Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated Reggiano Cheese"); } } class ChicagoStyleCheesePizza extends Pizza { public ChicagoStyleCheesePizza() { name = "Chicago StyleDeep Dish Cheese Pizza"; dough = "Extra Thick Crust Dough"; sauce = "Plum Tomato Sauce"; toppings.add("Shredded Mozzarella Cheese"); } public void cut() { System.out.println("Cutting the pizza into square slices"); } } class CaliforniaStyleCheesePizza extends Pizza { public CaliforniaStyleCheesePizza() { name = "California Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated California Cheese"); } } class PepperoniPizza extends Pizza { public PepperoniPizza() { System.out.println("PepperoniPizza"); } } class NYStylePepperoniPizza extends Pizza { public NYStylePepperoniPizza() { name = "NY Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated Pepperoni Cheese"); } } class ChicagoStylePepperoniPizza extends Pizza { public ChicagoStylePepperoniPizza() { name = "Chicago StyleDeep Dish Cheese Pizza"; dough = "Extra Thick Crust Dough"; sauce = "Plum Tomato Sauce"; toppings.add("Shredded Pepperoni Cheese"); } public void cut() { System.out.println("Cutting the pizza into square slices"); } } class CaliforniaStylePepperoniPizza extends Pizza { public CaliforniaStylePepperoniPizza() { name = "California Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated Pepperoni Cheese"); } } class ClamPizza extends Pizza { public ClamPizza() { System.out.println("ClamPizza"); } } class NYStyleClamPizza extends Pizza { public NYStyleClamPizza() { name = "NY Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated ClamPizza Cheese"); } } class ChicagoStyleClamPizz extends Pizza { public ChicagoStyleClamPizz() { name = "Chicago StyleDeep Dish Cheese Pizza"; dough = "Extra Thick Crust Dough"; sauce = "Plum Tomato Sauce"; toppings.add("Shredded Clam Cheese"); } public void cut() { System.out.println("Cutting the pizza into square slices"); } } class CaliforniaStyleClamPizza extends Pizza { public CaliforniaStyleClamPizza() { name = "California Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated Clam Cheese"); } } class VeggiePizza extends Pizza { public VeggiePizza() { System.out.println("VeggiePizza"); } } class NYStyleVeggiePizza extends Pizza { public NYStyleVeggiePizza() { name = "NY Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated VeggiePizza Cheese"); } } class ChicagoStyleVeggiePizza extends Pizza { public ChicagoStyleVeggiePizza() { name = "Chicago StyleDeep Dish Cheese Pizza"; dough = "Extra Thick Crust Dough"; sauce = "Plum Tomato Sauce"; toppings.add("Shredded Veggie Cheese"); } public void cut() { System.out.println("Cutting the pizza into square slices"); } } class CaliforniaStyleVeggiePizza extends Pizza { public CaliforniaStyleVeggiePizza() { name = "California Style sauce and Cheese Pizza"; dough = "Thin Crust Dough"; sauce = "Marinara Sauce"; toppings.add("Grated Veggie Cheese"); } } public class PizzaTestDrive { public static void main(String[] args) { PizzaStore nyStore = new NYPizzaStore(); PizzaStore chicagoStore = new ChicagoPizzaStore(); Pizza pizza = nyStore.orderPizza("cheese"); System.out.println("Ethan ordered a " + pizza.getName() + "\n"); pizza = chicagoStore.orderPizza("cheese"); System.out.println("Joel ordered a " + pizza.getName() + "\n"); } } public class SimplePizzaFactory { public Pizza createPizza(String type) { Pizza pizza = null; if (type.equals("cheese")) { pizza = new CheesePizza(); }else if(type.equals("pepperoni")){ pizza=new PepperoniPizza(); }else if(type.equals("clam")){ pizza=new ClamPizza(); }else if(type.equals("veggie")){ pizza=new VeggiePizza(); } return pizza; } }
发表评论
-
Iterator patten 读书笔记
2008-04-10 18:07 1061提供 一种方法 顺序访问 一个聚和 对象中的各个元素,而又不暴 ... -
模版模式 读书笔记
2008-04-10 18:04 1764在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版 ... -
Facade patten 读书笔记
2008-04-10 18:03 981提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一 ... -
Adapter patten 读书笔记
2008-04-10 18:01 967将一个类的接口,转换成客户期待的另一个接口。适配器让原本接口不 ... -
command patten 读书笔记
2008-04-10 17:56 9101 。命令模式将发出请求的对象和执行请求的对象解耦。 2。在被 ... -
单例模式 读书笔记
2008-04-07 18:44 911确保一个类只有一个实 ... -
抽象工厂模式读书笔记
2008-04-07 18:39 989提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具 ... -
装饰者模式 读书笔记
2008-04-03 14:25 2141package pattern; public clas ... -
观察者模式(读书笔记)
2008-04-01 18:33 1132观察者模式定义了对象之间的一对多依赖,这样一来当一个对象改变状 ... -
Head First Design Patterns 读后感3-策略模式
2008-04-01 18:32 1335策略模式-定义了算法族,分别封装起来,让他们之间可以相互替换, ... -
Head First Design Patterns 读后感2 设计原则
2008-03-31 13:47 11611。软件开发中唯一一个不变的是 变化。大千世界,千奇百怪,行行 ... -
Head First Design Patterns 读后感1
2008-03-31 13:46 1421如何让大脑把记得更深刻 1。慢点,你理解的越多,记得月少 2。 ... -
proxy state 读书笔记
2008-03-28 18:35 1702定义:为另一个对象提供一个替身或者战位符以范围这个对象。 要点 ... -
阅读不懂,图书之过——《大话设计模式》创作历程 (转载)
2008-03-28 11:41 1133写这本书的确是个意外,因为在之前,我和所有的做技术的朋友一样, ... -
state patten 读书笔记
2008-03-25 14:53 1217允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的 ... -
组合模式 读书笔记
2008-03-24 15:12 1320允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能 ...
相关推荐
《智能制造之路-数字化工厂》读书笔记.pdf《智能制造之路-数字化工厂》读书笔记.pdf
例如,在选择工厂模式时,需要权衡简单工厂的便利性和工厂方法的可扩展性;而在使用抽象工厂模式时,应确保产品族之间的关联性和相似性。 总的来说,Java模式是提升代码质量的有效工具,它们可以帮助我们编写更加...
在深入理解C++的过程中,读书笔记是一种有效的学习方法,它能帮助我们整理思绪,巩固知识,并且在日后回顾时提供清晰的指引。以下是对C++编程语言的一些关键知识点的概述,这些内容可能涵盖在读书笔记中。 1. **...
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典...Effective Java读书笔记总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点,为Java开发者提供了有价值的参考。
智能制造之路:数字化工厂读书笔记模板.pptx 智能制造是基于新一代信息技术,贯穿设计、生产、管理、服务等制造活动各个环节,具有信息深度自感知、智慧优化自决策、精准控制自执行等功能的先进制造过程、系统与...
下面将详细解读这个领域的核心知识点,并基于"代码质量-读书笔记"的内容展开讨论。 首先,我们要理解什么是代码质量。代码质量不仅仅关乎代码的正确性,更包括其可读性、可维护性、可扩展性等多个方面。良好的代码...
通过阅读《Java游戏编程读书笔记》这本书,你可以深入了解这些概念并学习如何将它们应用到实际项目中。文档中的内容可能涵盖了Java游戏开发的基本原理、代码示例、最佳实践以及常见问题的解决方案。通过深入学习和...
创建型设计模式关注的是对象的创建,如工厂方法、抽象工厂、建造者、原型和单例模式,它们分别处理不同程度的对象创建延迟和实例化过程。结构型模式则涉及如何组合类和对象,包括适配器、桥接、组合、装饰器、外观、...
在本篇【JAVA面向对象编程(孙卫琴)读书笔记(三)】中,我们将深入探讨Java编程语言的核心概念——面向对象编程。这篇读书笔记基于孙卫琴老师的著作,旨在帮助开发者更好地理解和应用面向对象的设计原则和技巧。下面...
本笔记主要基于 Jerome 的 BI Blog,涵盖了数据仓库的基本概念、架构以及建模方法。以下是笔记中的关键知识点: 1. **数据仓库架构**:数据仓库的架构通常包括数据源、ETL(抽取、转换、加载)、数据存储、OLAP...
"《看得见的手美国企业的管理革命》读书笔记" 本书《看得见的手——美国企业的管理革命》是美国知名企业史学家小艾尔弗雷德·D.钱德勒教授的著作,通过翔实的资料和大量的个案研究,作者对美国现代工业管理的内容...
读书笔记:反射的应用动态代理与工厂设计模式
《智能制造之路-数字化工厂》是一本探讨工业4.0、工业互联网和智能制造的书籍,由机械工业出版社出版,陈明和梁乃明合作撰写。该书主要关注这些新兴技术的发展,尤其是它们如何改变传统的生产流程和价值链。作者强调...
- Item1:静态工厂方法相比构造子,提供了更大的灵活性,例如可以返回对象的子类实例,或者在不改变API的情况下更改返回的对象类型。 - Item2:Builder模式适用于有大量构建参数的情况,它可以避免构造器的链式...
### Effective Java读书笔记(上) #### 第一章 引言 本书主要针对Java开发者提供了大量实用的编程指导建议,帮助读者提升代码质量和程序性能。在本章节中,我们将重点介绍对象的创建与销毁,以及一些重要的设计...
读书笔记主要涵盖了以下几个方面的内容: 1. C#语言特性:包括匿名方法、lambda表达式、闭包、委托、事件、泛型、LINQ(Language Integrated Query)等。这些特性是C# 3.0及更高版本的核心,极大地增强了代码的...
《Effective Java》是Java...以上仅是《Effective Java》一书中部分核心知识点的概述,实际的读书笔记中会更详细地解释这些概念,并给出具体的示例代码。通过深入学习和实践,开发者可以极大地提升其Java编程的水平。
在《JAVA与模式读书笔记》中,我们探讨的是Java编程语言与设计模式的结合应用,这对于深入理解面向对象编程和提升软件开发能力至关重要。设计模式是软件工程中的最佳实践,它们是解决常见问题的模板,可以提高代码的...
本人学习中整理的读书笔记,适合想要入行的同学了解数据中台做什么?适合数据分析、产品经理转岗做数据产品的同学阅读。笔记分四部分。 第一部分:介绍什么是数据中台;数据中台建设与架构;评估与选择 第二部分:...