设计模式

设计模式

这页笔记用来记录敲代码过程中发现的设计模式,学习,冲冲冲!

1、单例模式

单例模式:你可以不用自己创建类的对象,直接通过类名来调用这个类的获取对象方法来获得这个类的对象,这个类自己在他类里面实现了这个对象。

优点:

  • 内存中只有一个实例,减少内存开销,尤其是频繁创建和销毁实例时(如管理学院首页页面缓存)。
  • 避免资源的多重占用(如写文件操作)。

缺点:

  • 没有接口,不能继承。
  • 与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心实例化方
条件:
1单例类只有一个示例且是他自己创建的
2单例类必须给所有其他类的对象提供这一实例(就是提供获得该类的方法)
3构造函数是私有的(为了确保该类不会被实例化)

创建一个 Singleton 类。
public class SingleObject {
 
   //创建 SingleObject 的一个对象
   private static SingleObject instance = new SingleObject();
 
   //让构造函数为 private,这样该类就不会被实例化
   private SingleObject(){}
 
   //获取唯一可用的对象
   public static SingleObject getInstance(){
      return instance;
   }
 
   public void showMessage(){
      System.out.println("Hello World!");
   }
}
从 singleton 类获取唯一的对象。
public class SingletonPatternDemo {
   public static void main(String[] args) {
 
      //不合法的构造函数
      //编译时错误:构造函数 SingleObject() 是不可见的
      //SingleObject object = new SingleObject();
 
      //获取唯一可用的对象
      SingleObject object = SingleObject.getInstance();
 
      //显示消息
      object.showMessage();
   }
}
posted @ 2025-03-06 16:13  JSESSIONID  阅读(7)  评论(0)    收藏  举报