单例模式
java 23种设计模式之一,作用是保证应用程序启动后保持对象的唯一性
懒汉模式
public class Singleton{
private static Singleton obj;
private Singleton () {}
public static Singleton getInstance () {
if (obj==null ) {
obj=new Singleton();
}
return obj;
}
}
饿汉模式
public class Singleton{
private static Singleton obj = new Singleton ();
private Singleton (){}
public static Singleton getInstance (){
return obj;
}
}
工厂方法
java设计模式之工厂设计模式,目的是解耦合,用于生成对象
简单工厂:
abstract class Fruit {
abstract String intro();
}
class Apple entends Fruit {
String intro(){
return "this is an apple" ;
}
}
class Orange entends Fruit {
String intro(){
return "this is an orange" ;
}
}
class Factory {
public static Fruit getInstance(int op){
if (op==0 )
return new Apple();
else
return new Orange();
}
}
抽象工厂: 当生成的对象较多时,会堆工厂继续分类
abstract class Vehicle { }
abstract class Car extends Vehicle { }
class Audi extends Car { }
class BMW extends Car { }
abstract class Jeep extends Vehicle { }
class Han extends Jeep { }
abstract class Factory {
abstract Vehicle getInstance(String brand);
}
class CarFactory {
Car getInstance(String brand){
if (brand.equals("Audi" )){
return new Audi;
}else {
return new BMW();
}
}
}
工厂方法
class Apple{}
pulbic class AppleFactory{
public Apple getApple (){
return new Apple();
}
public static Apple getIns (){
return new Apple();
}
}