- 浏览: 958730 次
- 性别:
- 来自: 魔都
文章分类
- 全部博客 (745)
- MultiThread (19)
- My Plan (118)
- JavaBasic (61)
- MyInterview (104)
- InternetTechnique (5)
- ProjectConclusion (1)
- Maven (5)
- MogoDb (5)
- Hadoop (11)
- Memcached (6)
- TechniqueCollect (1)
- Ibaits (1)
- Android (34)
- ItLife (40)
- Tree (2)
- ProjectArchitect (7)
- Open Source (3)
- liunx (5)
- socket (8)
- Spring (27)
- DesginPattern (35)
- WebBasic (13)
- English (13)
- structs (1)
- structs2 (2)
- Oracle (17)
- Hibernate (2)
- JavaScript (4)
- Jdbc (1)
- Jvm (15)
- Ibatis (1)
- DataStructures (13)
- Https/Socket/Tcp/Ip (3)
- Linux (4)
- Webservice (7)
- Io (2)
- Svn (1)
- Css (1)
- Ajax (1)
- ExtJs (1)
- UML (2)
- DataBase (6)
- BankTechnique (3)
- SpringMvc (3)
- Nio (3)
- Load Balancing/Cluster (3)
- Tools (1)
- javaPerformanceOptimization (8)
- Lucene(SEO) (1)
- My Think (80)
- NodeJs (1)
- Quartz (1)
- Distributed-java (1)
- MySql (7)
- Project (4)
- junit (4)
- framework (1)
- enCache (1)
- git (2)
- SCJP (1)
- sd (1)
最新评论
-
lkjxshi:
你都这水平了还考这个证干嘛
SCJP 认证考试指南 -
钟逸华:
问的真多
百度java开发面试题(转) -
zuimeitulip:
觉得我就是这样的,从小阅读量就很少,导致现在的读的速度非常慢, ...
让读书成为一种习惯 -
DDT_123456:
我觉得你是不符合要求。问你hashmap的那个问题,你那样回答 ...
阿里面试2(转) -
jingjing0907:
刚刚写了很多读过此博客的感受,竟然没有发上去,以为我注册账号还 ...
让读书成为一种习惯
/** * ## 具体产品(Concrete Product)角色 * */ public class Apple implements Fruit { public void grow() { System.out.println("Apple is growing--------------"); } public void plant() { System.out.println("Apple is planting--------------"); } public void harvest() { System.out.println("Apple is harvesting--------------"); } } package com.createtype.desginpatterns.facotry.simplefactory; public interface Fruit { public void grow(); public void plant(); public void harvest(); } package com.createtype.desginpatterns.facotry.simplefactory; /** * ## 简单工厂(Creator)角色 * */ public class Gardener { public static Fruit factory(String fruit){ if (fruit.equalsIgnoreCase("apple")) { return new Apple(); } else if (fruit.equalsIgnoreCase("grape")) { return new Grape(); } else { return null; } } } package com.createtype.desginpatterns.facotry.simplefactory; /** * ## 具体产品(Concrete Product)角色 * */ public class Grape implements Fruit { public void grow() { System.out.println("Grape is growing--------------"); } public void plant() { System.out.println("Grape is planting--------------"); } public void harvest() { System.out.println("Grape is harvesting--------------"); } } package com.createtype.desginpatterns.facotry.simplefactory; public class Test { /** => 简单工厂角色:核心,封装商业逻辑,通常由一个具体Java类实现 => 抽象产品角色:简单工厂模式创建的对象的父类或者共同的接口,通常由一个Java抽象类或者Java接口实现 => 具体产品角色:简单工厂模式创建的对象是该类的实例,通常由一个具体Java类实现 => 优点: 1. 模式核心是工厂类,该类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类实例. 2. 客户端避免了直接创建产品对象的责任,仅仅负责消费产品.实现责任分割. => 缺点: 1. 工厂类为上帝类(God Class),一旦它受影响了,涉及整个系统正常运作 2. 工厂类中集中了过多的逻辑,难以维护及扩展 3. 新的产品类加入系统时,工厂角色需要做相应修改,不支持"开-闭"原则 => 应用: DateFormat.getInstance() -> 返回其子类实例对象,如SimpleDateFormat */ public static void main(String[] args) { } }
发表评论
-
关于Java 23种设计模式的有趣见解
2013-08-10 18:01 1016关于Java 23种设计模式的有趣见解 [来源] 51CT ... -
Java中常用的设计模式(转)
2013-01-30 12:30 1116下面是我对一些常用设计模式的理解: 模式分为:行为模 ... -
工厂模式,抽象工厂模式,简单工厂的区别
2012-10-10 21:35 9541.抽象工厂模式与工厂方法模式的最大区别就在于,工 ... -
java设计模式之常用设计模式分析
2012-06-05 09:09 1276常用的设计模式有:工厂模式(工厂方法模式,简单工厂模式, ... -
java设计模式之责任链模式(行为模式 )
2012-06-04 14:31 1110(11).责任链模式: 文章链接:http:// ... -
java设计模式之观察着模式(行为模式)
2012-06-04 14:28 990(10).观察着模式Observer 文章链接:ht ... -
java设计模式之适配器模式(结构型模式)
2012-06-04 14:26 669(9).适配器模式 文章链接:http://chjl2 ... -
java设计模式之动态代理模式(结构型模式)
2012-06-04 14:24 1166(8).代理模式: 文章 ... -
java设计模式之代理模式(结构型模式)
2012-06-04 14:22 1053(8).代理模式: ... -
java设计模式之——装饰模式结(构型模式)
2012-06-03 19:34 1002三.例子代码:使用装饰 ... -
java设计模式之缺省适配器模式(构型模式)
2012-06-03 19:31 1383缺省适配器模式:文章链接:http://jzinfo.itey ... -
java设计模式之模板方法模式(行为模式 )
2012-06-03 19:03 1126package com.createtype.desginpa ... -
java设计模式之——组合模式(结构型模式 )
2012-06-03 18:24 1346接口的作用是什么?定 ... -
java设计模式之——策略模式(行为模式 )
2012-06-03 16:54 1064文章链接:http://yangguangfu ... -
工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
2012-05-31 23:59 1294文章链接: http://blog.csdn.net/ ... -
java设计模式之抽象工厂模式(创建型模式)
2012-05-31 23:57 1141package com.createtype.desgi ... -
java设计模式之工厂方法模式(创建型模式)
2012-05-31 23:56 951package com.createtype.desg ... -
java设计模式之单例模式(创建型模式)
2012-05-30 17:48 1063单列模式: 优点 ... -
java中设计模式分类
2012-05-01 18:31 1146常用的设计模式有:工厂模式(工厂方法模式,简单工厂模式, ... -
Bridge模式(桥接模式)
2012-04-17 22:19 962文章链接:http://airu.itey ...
相关推荐
**简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...
工厂模式是一种创建型设计模式,它提供了一种创建对象的统一接口,从而使得创建和使用对象的代码分离。工厂模式帮助隐藏了对象创建的细节,用户无需知道具体类的实现就能创建出对象实例。在Java中,简单工厂模式、...
**Java设计模式——简单工厂** 简单工厂模式是软件设计模式中的一种基础模式,它属于创建型设计模式。在Java编程中,我们常常会遇到需要创建一系列相关或相互依赖的对象,而这些对象的创建过程可能会非常复杂。这时...
简单工厂模式是面向对象设计中的一种经典设计模式,它属于创建型模式,主要用来解决对象的创建问题。在Java编程中,简单工厂模式通过一个中心工厂类来负责创建相关的对象,而无需让客户端代码直接new具体的产品类。...
单例模式是最常见的创建型模式之一,它确保一个类只有一个实例,并提供全局访问点。在Java中,可以通过私有构造函数、静态私有变量和公共静态方法来实现单例模式。 3. 工厂模式 工厂模式是另一种常用的创建型模式,它将...
在这个"java设计模式之简单工厂.zip"压缩包中,包含了两个视频文件,分别以“5.理解简单工厂.avi”和“4.初识和体会简单工厂.avi”命名,它们旨在帮助我们深入理解和掌握Java中的简单工厂设计模式。 简单工厂模式是...
Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...
1. **创建型模式**:包括单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype)。这些模式关注对象的创建过程,使得代码更加灵活,易于管理和扩展。...
【设计模式之创建型模式实验】 创建型设计模式主要关注对象的创建,它们提供了一种在不指定具体类的情况下创建对象的方式,增强了系统的灵活性和可扩展性。在本实验中,我们将探讨五种常见的创建型设计模式:简单...
### Java设计模式详解 #### 一、背景与概念 在软件工程领域,设计模式是一种用于解决常见问题的可重用解决方案。《Java设计模式PDF》是一本由James W. Cooper编写的经典书籍,该书详细介绍了Java编程语言中的设计...
**JAVA设计模式之抽象工厂** 在软件工程中,设计模式是一种通用的解决方案,用来解决在特定上下文中反复出现的问题。抽象工厂(Abstract Factory)模式是其中一种创建型设计模式,它提供一个创建对象的接口,但允许...
简单工厂设计模式是一种创建型设计模式,它提供一个创建对象的静态方法,客户端可以通过这个静态方法获取所需的具体产品,而无需了解这些产品的具体实现。这种模式的主要目的是将对象的创建过程封装起来,使得代码...
**工厂模式**是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品时,工厂类会负责创建这个产品。这样做的好处是隐藏了对象创建的复杂性,客户端只需要知道如何获取产品...
创建型模式是设计模式的一种分类,主要关注对象的创建过程,旨在抽象和隔离实例化过程,提高代码的灵活性和可复用性。本篇文章将详细探讨Java中的几种创建型设计模式,并通过具体的DEMO来阐述它们的应用。 1. 单例...
工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们在Java中有着广泛的应用。本文将详细探讨这两种模式的区别,并提供代码示例来加深理解。 工厂模式和抽象工厂模式都是创建型设计模式,它们提供了代码解耦和...
《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...
以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...
简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题。在Java编程中,简单工厂模式通过一个公共的工厂类来创建对象,避免了客户端代码直接new对象,增强了代码的可维护性和扩展...
简单工厂模式是Java设计模式中创建型模式的一种,也被称为静态工厂方法模式。该模式的主要思想是由一个专门的工厂类来负责创建其他类的实例。简单工厂模式通过封装创建对象的过程,使得调用者无需关心对象的具体创建...