抽象工厂模式factory:
public interface Send {
public void send();
}
public class SmsSendImpl implements Send {
@Override
public void send() {
// TODO Auto-generated method stub
System.out.println("sms send");
}
}
public class MailSendImpl implements Send {
@Override
public void send() {
// TODO Auto-generated method stub
System.out.println("mail send");
}
}
public class FactoryCreate {
public Send produce(String type){
if("mail".equals(type)){
return new MailSendImpl();
}else if("sms".equals(type)){
return new SmsSendImpl();
}else{
return null;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
FactoryCreate fc = new FactoryCreate();
Send send = fc.produce("sms");
send.send();
}
单例模式Singleton:
public class SingleTon {
private static SingleTon singleton = null ;
public static SingleTon getInstance(){
if(singleton == null){
singleton = new SingleTon();
}
return singleton;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SingleTon s = SingleTon.getInstance();
System.out.println("--"+s);
}
原型模式prototype:
public abstract class AbstractSpoon implements Cloneable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException {
// TODO Auto-generated method stub
return super.clone();
}
}
public class SoupSpoon extends AbstractSpoon {
public SoupSpoon() {
super();
// TODO Auto-generated constructor stub
this.setName("aaa");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
AbstractSpoon ss = new SoupSpoon();
String name = ss.getName();
System.out.println("--"+name);
}