总述:
设计模式:经典的设计模式总共23种,是一系列不同的编程模式与代码编写风格,在本人看来就是一个基础构件,一种框架
创建类型设计模式(5种):工厂方法;抽象工厂;单列;建造者;原型
构造型设计模式(7种):适配器;装饰器;代理;外观;桥接;组合;享元
行为型设计模式(11种):策略;模板方法;观察者;迭代器;责任链;命令;备忘录;状态;访问者;中介者;解释器
一、单列设计模式:
1.所谓单列设计模式,就是采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例
2.实现: 饿汉式 VS 懒汉式
3.区分饿汉式和懒汉式:
饿汉式:坏处:对象加载时间过长;好处:饿汉式是线程安全的
懒汉式:好处:延迟对象的创建;目前写法坏处:线程不安全--->在多线程部分解决此问题
4.使用场景:网站计数器;应用程序的日志应用,数据库连接池,读取配置文件的类,Application,win任务管理器,win回收站
//饿汉式一
class Bank{
//1.私有化类的构造器
private Bank(){}
//2.内部创建类的静态对象
private static Bank instance = new Bank();
//3.提供公共的静态方法,返回类的对象
public static Bank getInstance(){
return instance;
}
}
//饿汉式二
class Bank{
//1.私有化类的构造器
private Bank(){}
//2.内部创建类的静态对象
private static Bank instance =null;
static {
instance=new Bank();
}
//3.提供公共的静态方法,返回类的对象
public static Bank getInstance(){
return instance;
}
}
//饿汉式三
class Bank{
public Bank() {
}
public static final Bank instance=new Bank();
}
//懒汉式一
class Order{
//1.私有化类的构造器
private Order(){}
//2.声明当前类的静态对象,没有初始化
private static Order instance=null;
//3.声明public、static的返回当前类对象的方法
public static Order getInstance(){
if (instance==null){
instance=new Order();
}
return instance;
}
}


