zoukankan      html  css  js  c++  java
  • 设计模式

     抽象工厂模式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);
    	}
    

      

     

      

     

  • 相关阅读:
    关于js的语句类型运算符等
    关于flex的布局理解
    三天来都在写项目;今天开始学习了js
    12.13的学习内容
    Css多列语法笔记
    Css3关键帧动画
    codevs1085数字游戏(环形DP+划分DP )
    codevs1040统计单词个数(区间+划分型dp)
    POJ1062昂贵的聘礼
    POJ3687Labeling Balls
  • 原文地址:https://www.cnblogs.com/estellez/p/4150765.html
Copyright © 2011-2022 走看看