这三个模式为什么放一起呢。都是减少构造函数多次被构造为目的产生的模式。也就是说(A a=new A(); A b=new A();)这样就两次构造了这个对象
单例模式
在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例
有一个厨师
Class Cook()
{
Private Cook()
{
//面试,工资呀,上班时间呀,反正请个厨师不容易
}
Private static Cook _厨师=null;
Static Cook()
{
_厨师=new Cook();
}
Public Static Cook 请厨师()
{
Return _厨师;
}
}
上面这个厨师,( Cook 厨师A=new Cook(); Cook 厨师B=new Cook(); )你永远只有一个厨师,不管你请几次,构造都一个
多线程调用就有双if加锁的写法
Public Static Cook 请厨师()
{
if(_厨师==null)
{
lock(_object)
{
if(_厨师==null)
{
_厨师=new Cook();
}
}
}
Return _厨师;
}
原型模式
人工智能时代,开始时设置了一个厨师,后来的就不断的复制
享元模式
时间: 2024-10-12 07:24:21