设计模式总结
https://blog.csdn.net/yexunce3159/article/details/82773931
详细参考;https://github.com/ZhongFuCheng3y/3y/blob/master/src/designmode.md
ecplise案例:setTest 包下的modeltwo类中
1.共23种设计模式
创建型(5种):主要用于处理对象的创建,实例化对象: 
单例,建造者,原型,工厂方法,抽象工厂
结构型(7种):处理类或对象间的组合 
适配器,装饰者,结合,桥接,外观,享元,代理
行为型(11种):描述类或对象怎样进行交互和职责分配 
策略,观察者,迭代器,命令,备忘录,中介者,解释器,访问者,责任链,状态,模板方法
2.单例中的懒汉式、饿汉式例子 ,以及线程安全性的懒汉式(DCL)、静态内部类:
public class modeltwo {
   //饿汉式,先创建
	/*private modeltwo(){};	
	private static modeltwo m=new modeltwo();
	public static modeltwo getmodeltwo(){
		return m;
	}
	//懒汉式
private modeltwo(){}
	  private static modeltwo m=null;
	  public static modeltwo getInstanse(){
		  if(m==null){
			  m=new modeltwo();
		  }
		  return m;
	  }
}
//DCL, (特别在于关键字 volatile,synchronized的使用):
 private modeltwo() {
	}
private static volatile modeltwo m = null;
	private static modeltwo getInstanse() {
		if (m == null) {
			synchronized (modeltwo.class) {
				if(m==null)
				m = new modeltwo();
			}
		}
		return m;
}
//静态内部类
 private static class tt{
		 private static final modeltwo INSTANCE=new modeltwo();
	 }
	private static final modeltwo getInstanse(){
		return tt.INSTANCE;
	}
3.主要的设计模式
代理模式:静态代理(需要自己写代理类),动态代理(不需要,运行时自动生成)
包装模式(装饰模式):对象增强的一种方式之一 ,(实现对象增强有三种方式:继承,包装模式,代理模式)
单例模式(一个类中只存在一个对象):懒汉、饿汉、枚举、DLC、静态内部类懒汉式
工厂模式(作用是用来向使用者屏蔽创建对象的细节):简单/静态工厂模式、工厂方法模式、抽象工厂模式 补充:SAX解析XML文件时,用到过工厂模式,还DAOFactory
策略模式:
门面模式:
模版方法:
4.参考语句:
(1) 其实我们使用设计模式的根本原因是提升项目的可维护性。
(2)在项目里,我们经常会收到需求变更,当我们引入设计模式(或原则)后,发现能让项目拥抱修改。
(3)在项目里,我们一般不会只用其中某个,而会根据一些原则来优化我们的代码
(4)遵循设计原则
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号