五种创建型模式:
1.工厂模式
普通工厂模式:
工厂类提供一个方法可以生产多种实现了某种接口的类
多方法工厂模式:
一个方法对应一个要生产的类
静态工厂模式:
静态方法来生产类
2.抽象工厂模式
工厂类实现了某接口,产品实现了某接口。
新产品只需新建一个工厂类,无需修改原有的工厂类。
3.单例模式:
懒汉模式
public static Singleton getinstance(){
if(instance==null){
sychronized(instance){
instance=new Singleton();
}
}
return instance;
}
恶汉模式:
private static Singleton instance=new Singleton();
public static Singleton getinstance(){
return instance;
}
4.建造者模式
工厂类关注于生产单个产品,建造类关注于较为复杂的生产。
5.原型模式:
以一个对象为模型,生产出类似的对象。
例子:
clone()浅复制:基本类型重新构建,新的引用和旧的引用仍指向同一个对象。
通过序列化和反序列化得到的对象,是深度复制,全部重新构建,包括引用的对象。
七种结构型模式:
适配器模式是结构型模式的起源
1.适配器模式:
将现有的接口转化为需要的接口,主要解决不兼容问题。
2.装饰者模式
3.代理模式
4.外观者模式:将多个类放在一个外观类中,从而降低这些类的耦合。例子:slf4j:simple logging facede 4 java
5.桥接模式:将抽象和实例解耦,使得它们可以各自独立变化。例子:jdbc规定接口,各个数据库各自提供驱动的实现。
6.组合模式:将多个对象组合在一起操作。
7.享元模式:例子:线程池。