- 浏览: 931874 次
- 性别:
- 来自: 魔都
文章分类
- 全部博客 (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 981关于Java 23种设计模式的有趣见解 [来源] 51CT ... -
Java中常用的设计模式(转)
2013-01-30 12:30 1075下面是我对一些常用设计模式的理解: 模式分为:行为模 ... -
工厂模式,抽象工厂模式,简单工厂的区别
2012-10-10 21:35 9281.抽象工厂模式与工厂方法模式的最大区别就在于,工 ... -
java设计模式之常用设计模式分析
2012-06-05 09:09 1237常用的设计模式有:工厂模式(工厂方法模式,简单工厂模式, ... -
java设计模式之责任链模式(行为模式 )
2012-06-04 14:31 1078(11).责任链模式: 文章链接:http:// ... -
java设计模式之观察着模式(行为模式)
2012-06-04 14:28 951(10).观察着模式Observer 文章链接:ht ... -
java设计模式之适配器模式(结构型模式)
2012-06-04 14:26 644(9).适配器模式 文章链接:http://chjl2 ... -
java设计模式之动态代理模式(结构型模式)
2012-06-04 14:24 1119(8).代理模式: 文章 ... -
java设计模式之代理模式(结构型模式)
2012-06-04 14:22 1019(8).代理模式: ... -
java设计模式之——装饰模式结(构型模式)
2012-06-03 19:34 967三.例子代码:使用装饰 ... -
java设计模式之缺省适配器模式(构型模式)
2012-06-03 19:31 1348缺省适配器模式:文章链接:http://jzinfo.itey ... -
java设计模式之模板方法模式(行为模式 )
2012-06-03 19:03 1080package com.createtype.desginpa ... -
java设计模式之——组合模式(结构型模式 )
2012-06-03 18:24 1298接口的作用是什么?定 ... -
java设计模式之——策略模式(行为模式 )
2012-06-03 16:54 1021文章链接:http://yangguangfu ... -
工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
2012-05-31 23:59 1260文章链接: http://blog.csdn.net/ ... -
java设计模式之抽象工厂模式(创建型模式)
2012-05-31 23:57 1103package com.createtype.desgi ... -
java设计模式之工厂方法模式(创建型模式)
2012-05-31 23:56 913package com.createtype.desg ... -
java设计模式之单例模式(创建型模式)
2012-05-30 17:48 1030单列模式: 优点 ... -
java中设计模式分类
2012-05-01 18:31 1115常用的设计模式有:工厂模式(工厂方法模式,简单工厂模式, ... -
Bridge模式(桥接模式)
2012-04-17 22:19 922文章链接:http://airu.itey ...
相关推荐
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、...
JAVA-设计模式-创建型模式-工厂模式
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...
创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略...
简单工厂模式是最简单的设计模式之一,它虽然不属于GoF的23种设计模式,但是应用也较为频繁,同时它是学习其他创建型模式的基础。在简单工厂模式中只需要记住一个简单的参数即可获得所需的对象实例,它提供专门的...
创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象...
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...
①使用简单工厂模式设计一个可以创建不同几何形状( Shape)(例如圆形( Circle).、矩形 Rectangle)和三角形( ( Triangle)等的绘图工具类,每个几何图形均具有绘制方法daw()和擦除方法 erase(),要求在绘制不支持的几何...
创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略...
java设计模式word整理,付代码说明,时候java进阶选手,欢迎选购! 目录 1 1. 设计模式 2 1.1 创建型模式 2 1.1.1 工厂方法 2 1.1.2 抽象工厂 4 1.1.3 建造者模式 6 1.1.4 单态模式 9 1.1.5 原型模式 10 1.2 结构型...
1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 2. 结构型模式 适配器...
单例模式是最常见的创建型模式之一,它确保一个类只有一个实例,并提供全局访问点。在Java中,可以通过私有构造函数、静态私有变量和公共静态方法来实现单例模式。 3. 工厂模式 工厂模式是另一种常用的创建型模式,它将...
创建型 创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式。如,工厂方法、抽象工厂模式、单例模式等。 构造型 用于帮助将多个对象组织成更大的结构。如,适配器模式、桥接...
Java设计模式可以分为创建型模式、结构型模式和行为型模式三类。创建型模式涉及对象的创建,包括单例模式、工厂模式、原型模式等;结构型模式关注对象之间的结构关系,包括适配器模式、桥接模式、组合模式等;行为型...
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...
(1)请使用抽象工厂模式设计手机主题库 (2)为系统增加一种新的主题,绘制类图并实现,此时系统类图有何变化? (3)如果当系统主题发生变化的时候通讯录风格也发生变化,在这种情况之下上面设计的系统将如何变化...