1、单例模式
单例模式的构造方法是私有的,且必须自己创建自己的唯一实例,且其他对象使用是只能使用此实例;
方法一:利用synchronized 关键字保证线程安全性;
private static SingleTon single = null;
private SingleTon () {}
public static synchronized SingleTon getInstance() {
if (single == null) {
single = new SingleTon();
}
return single;
}
方法二:利用静态内部类
private static class LazyHolder {
private static final SingleTon INSTANCE = new SingleTon();
}
public static final SingleTon getInstance2() {
return LazyHolder.INSTANCE;
}
2、工厂模式
是为创建对象提供接口;
分为简单工厂模式、工厂方法模式、抽象工厂模式
使用工厂模式的原因:
(1)在编码时不能预见需要创建哪种类的实例;
(2)系统不应依赖于产品实例如何被创建、组合和表达的细节;
1>、简单工厂方法:工厂类角色、抽象产品角色、具体产品角色;
针对于一个产品等级结构;
2>、工厂方法模式:抽象工厂角色、具体工厂角色、抽象产品角色、具体产品角色;
面向多个产品等级结构;
3、代理模式
4、适配器模式:已有相同功能的代码,但是接口不兼容,不能直接调用
分类:类适配器、对象适配器
5、策略模式:
6、23种设计模式:https://www.cnblogs.com/sev7en-/p/5904282.html
设计模式
最新推荐文章于 2024-03-16 18:02:40 发布