易截截图软件、单文件、免安装、纯绿色、仅160KB

设计模式——抽象工厂 [java]

版权所有,转载注明出处!
转载请携带此信息:huangfox
-----------------------------------------------------------------
抽象工厂和工厂方法 刚开始很容易混淆,至少我是这样的!
不过他们产生的缘由来看,还是可以好好区分的。
1.工厂方法:是为了避免应用直接实例类层次结构中的具体类,提供一个方法根据运行情况实例一个合适的对象(父类类型)给应用层使用。
参考:http://blog.csdn.net/fox009/archive/2010/04/08/5465009.aspx
2.抽象工厂:同样是为了避免应用直接实例类层次结构中的具体类,但是它提供的是一个工厂接口(抽象类),具体的工厂都会实施这个接口,而产生一些对象的类。
总觉得描述这些东西比较拗口,不过看看实例结合自己的理解,应该也会有一个自己的理解和定义。
实例:
1.这是一个有关娱乐的实例,
娱乐的方式分为:音乐 、 电影
娱乐的资源获取方式:本地资源 、 网络资源
需求:用户并不知道底层的类结构,但是只要知道两个指令(娱乐方式、资源获取方式)就可以进行happy。[简单需求]
--uml
代码:
--首先是“音乐”的类层次
package com.fox.atstractFactory2;
/**
* @author huangfox
* 听音乐的接口
*/
public interface Music {
//通过歌名播放歌曲。
public void getMusic(String name);
}

--本地音乐
package com.fox.atstractFactory2;
/**
* @author huangfox
* 本地资源(歌曲)
*/
public class LocalMusic implements Music {
@Override
public void getMusic(String name) {
// TODO Auto-generated method stub
System.out.println("播放本地歌曲:" + name);
System.out.println("啦啦啦啦......");
}

}

--网络音乐
package com.fox.atstractFactory2;
import java.util.Random;
/**
* @author huangfox
* 网络资源(歌曲)
*/
public class NetworkMusic implements Music {
@Override
public void getMusic(String name) {
// TODO Auto-generated method stub
System.out.println("查询网络资源:" + name);
//模拟是否获得资源
int i = new Random().nextInt(2);
if(i%2 == 1){
System.out.println("获得资源:" + name);
System.out.println("啦啦啦啦......");
}else{
System.out.println("查询网络资源&quo


相关文档:

java 读取excel 文件

2010-03-18
package javaEcsl;
import java.io.*;
import java.util.*;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
/** */
/**
* <p>
* Title:
* </p>
* <div>Description: Excel数据导入到oracle数据库类. </div>
* <p>
* Copyright: Copyright (c) 200 ......

Java 操作文本 封装类

package com.sidi.card.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
 * 用于对文本的操作
 *
  ......

java中awt和swing是的关系以及区别

简单的说:
AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。
Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。    
具体的说就是:
       AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供 ......

Test1.java(java homework)

public class Test1 {
public static void main(String[] args) {
//assignment
byte bval1 = 1, bval2 = 2;
short sval1 = 1, sval2 = 2;
int ival1 = 1, ival2 = 2;
long lval1 = 1, lval2 = 2;

float fval1 = 1.0f, fval2 = 2.0f;
double dval1 = 1.0, dval2 = 2.0;

char cval1 = 'a' ......

Java程序员的知识架构浅析


作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类
对于没有Java编程经验的Java程序员要入门,随便读什么入门书籍都一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号