设计模式
设计模式
这页笔记用来记录敲代码过程中发现的设计模式,学习,冲冲冲!
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();
}
}
作者:yzh先生
博客:https://www.cnblogs.com/ZiJun
本文版权归作者和博客园共有,转载请在文章中注明原文链接:https://www.cnblogs.com/ZiJun/p/18755672 ,愿尊重劳动成果,谢谢!
若有关于博客内容的各种问题,欢迎在评论区讨论或发消息,让我们一起进步!