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);
    	}
    

      

     

      

     

  • 相关阅读:
    mybatis异常:org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map com.sunyan.domain.User
    Markdown首行缩进和换行
    mybatis入门——mybatis的概述
    python2跟python3的区别
    码云与git
    Python入门(一)
    python环境搭建
    python简介
    计算机基础
    Typora、安装及使用
  • 原文地址:https://www.cnblogs.com/estellez/p/4150765.html
Copyright © 2011-2022 走看看