·Sun Java 认证介绍
·Sun开源Java平台
·Java关于对Vector的一点理解
·java中List的删除注意事项
·全国计算机等级考试二级Java考试大纲
·Java vs PHP,二者的同异
·JAVA,TOMCAT,JSP,SERVLET,JAVABEAN测
·java连接常见数据库的8类连接字符串
·java---zip 压缩成zip格式
·比较数组中元素是否相等(java)-Has
·通过JSP调用Java Bean动态生成柱状图
·Linux,Windows下执行java应用程序的
·用ActiveX操作客户端的目录,文件
·通过java实现统计单词组个数和标点符
·关于java匿名内部类,参数必须是fina
·java字串类型转换成日期类型
·java 对所有文件的操作
·如何打开java中的.class文件
 
 
 

java与模式

日期:2007年07月02日 22:58:12 作者:java 关键字:java游戏下载

本页内容为:java与模式,该文章本站转载自网络,如有侵权请告之,我们将会及时将其删除,其正文内容如下:

创建模式(Creational Pattern)

——对类的实例化过程的抽象,在创建对象时,动态地决定怎样创建对象,创建哪些对象

类的创建模式:使用继承关系,把类的创建延迟到子类

对象的创建模式:把对象的创建过程动态地委派给另一个对象

1、简单工厂模式(Simple Factory)/ 静态工厂方法模式(Static Factory Method)

由一个工厂对象决定创建出哪一种产品类的实例

工厂类角色(Creator):可以有多个工厂方法,分别负责创建不同的产品对象,比如J2SE中的DateFormat。

抽象产品角色(Product):主要目的是给所有的具体产品类提供一个共同的类型,在最简单的情况下,可以简化一个标识接口,如J2SE中的Serializable接口,即没有声明任何方法的空接口。

具体产品角色(Concrete Product)

工厂角色和可以与抽象产品角色合并(如J2SE中的DateFormat)

工厂角色、抽象产品、具体产品合并

产品对象的循环使用和登记式的工厂方法

简单工厂模式的优点

核心是工厂类,含有必要的判断逻辑,决定在什么时候创建哪一个产品的实例,需要产品的只需要负责消费产品即可,实现了对责任的分割。

简单工厂模式的缺点

当产品有复杂的多层次等级结构时,工厂类创建产品的逻辑就非常复杂,同时当增加了一个新产品时,工厂类的创建产品的方法就需要改变。同时因为使用的是静态方法做为工厂方法,无法继承,工厂角色无法形成基于继承的等级结构,这些缺点都在工厂方法模式中得到克服。

2、工厂方法模式(Factory Method)

是简单工厂模式的进一步抽象和推广,核心的工厂类不再负责所有的产品创建,变成一个抽象工厂角色,将具体创建的工作交给子类做,只负责给出具体工厂子类必须实现的接口。

在这个系统设计中,常首先有产品角色,然后有工厂角色。

在可以应用工厂方法模式的情形下,一般都会有一个产品的等级结构,有一个或多个抽象产品和多个具体产品组成。工厂方法模式常按产品的等级结构设计一个同结构的工厂等级结构,由相应的工厂角色创建相应的产品角色。

抽象工厂角色

具体工厂角色

抽象产品角色

具体产品角色

当要加入一个新产品时,只要向系统中加入一个这样的产品类以及它所对应的工厂类即可。

共2页: 上一页 1 [2] 下一页

 
 
如果你对本文java与模式有意见或看法,请点此留言