java常用设计模式
单例模式.
简而言之,就是一个类只有一个实例。
Singleton.java:
package com.xfimti.sigleton;
public class Singleton
{
/*第一种方式。*/
private static Singleton singleton = new Singleton();
/*第二种方式。*/
private static Singleton mySingleton = null;
private Singleton()
{
}
/*第一种方式。*/
public static Singleton getSingletonInstance()
{
return singleton;
}
/*第二种方式。*/
public static Singleton getInstance()
{
if(mySingleton == null)
{
mySingleton = new Singleton();
}
return singleton;
}
}
工厂模式
工厂模式又分为静态工厂和实例工厂方法。
a. 静态工厂。
Dao.java
package com.xfimti.factory;
public interface Dao
{
public void save();
}
DaoImpl4Mysql.java
package com.xfimti.factory;
public class DaoImpl4Mysql implements Dao
{
public void save()
{
System.out.println("save for dao...");
}
}
(静态工厂)StaticFactory.java
package com.xfimti.factory;
/**静态工厂或简单工厂*/
public class StaticFactory
{
public static Dao getDao(String type)
{
if(type.equals("mysql"))
{
return new DaoImpl4Mysql();
}
return null;
}
}
测试类:Main.java
package com.xfimti.factory;
public class Main
{
public static void main(String[] args)
{
/*使用静态工厂 。*/
// Dao dao = StaticFactory.getDao("mysql");
// dao.save();
Dao dao = new DaoFactoryMethod().getDao("mysql");
dao.save();
}
}
(实例工厂方法)
DaoFactoryMethod.java
package com.xfimti.factory;
/*实例工厂方法。*/
public class DaoFactoryMethod
{
public Dao getDao(String type)
{
if(type.equals("mysql"))
{
retu
相关文档:
在使用 Java™ 语言的泛型时,通配符非常令人困惑,并且最常见的一个错误就是在使用有界通配符的两种形式的其中之一(“? super T” 和 “? extends T”)时出现错误。您出错了吗?别沮丧,即使是专家也会犯这种错误,本月 Brian Goetz 将展示如何避免这个错误。
在 Java 语言中,数组是协变的( ......
package test;
import java.util.ArrayList;
import java.util.List;
import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject;
/**
* Book 实体对象,此处用XMap注解
* @author Administra ......
java学习已有段时间,个人觉得,快速成长起来有几中途径:
一培训,到权威的机构去培训,能在短期内达到比较好的效果.
二自学,在自学中除了看一些视频教程外,还要额外看一些参考书.有了这些理论,更多的是要实践,编程就是要不断的动手,从错误中学习,从编程中学习,让自己的理论知识更加扎实,有了一定的理论基础,个人认为可以做有 ......
jnlp(Java网络加载协议)原来很简单
Java Network Launching Protocol (JNLP,java网络加载协议)。
jnlp是什么?是java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序.好处就不用说了,如果你的java应用程序以jnlp 的方式发布,如果版本升级后 ......
在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的。比如,大小写的区分,使用不同
字母开头等等。但究其本,追其源,在为一个资源其名称的时候,应该本着描述性以及唯一性这两大特征来命名,才能保证资源之间不冲突,并且每一个都便于记
忆。
......