为什么要用设计模式:
刚学编程的朋友也许没怎么注意,注意的是怎样让程序跑起来,但是越往后越是发现,也许我的代码可以写的更简洁,也许重新写一次可以少写几个类,也许。。。。这时,我们考虑的就是代码的美。有人说大家都是用的eclipse,字体一样,格式一样,大小一样,怎么可能谁比谁的代码更美,其实则不然,有的人写的代码太丑了,一个类牵扯了N多个类,看上去就烦,看上去就想吐。这时就引入了设计模式,他能让你的代码更有水准。
什么是设计模式:
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。当然这都是屁话,一个不清楚设计模式的人,理论讲的再好也是对牛弹琴,下面让我们一起进入设计模式的学习。
J2EE常用的设计模式有哪些
1、单例模式 2、抽象工厂模式和工厂模式 3、适配器模式 4、装饰模式 5、观察者模式 6、外观模式
今天我主要学习单例模式,单例模式是用的很多很简单的一种设计模式。
何为单例模式:
单例模式顾名思义就是一个类只允许出现一个对象,而且提供一个返回它的唯一实力的类方法。
单例模式的好处:
1.使内存中只有一个对象,能节省内存空间。
2.能避免繁琐的创建和销毁对象,可以提高性能。
3.避免对共享资源的多重占用。
4.可以全局访问。
什么时候用到单例模式:
1.需要频繁实例化然后销毁的对象。
2.创建对象时耗时过多或者耗资源过多,但又经常用到的对象。
3.频繁访问数据库或文件的对象。
4.对于一个类只需要一个对象。
废话说了这么多,下面看看实例吧:
单例模式分两种:懒汉式单例、饿汉式单例。
懒汉式:
public class Singleton {
private static Singleton singleton = null;//创建一个对象引用
private Singleton(){//构造器私有化
}
public synchronized static Singleton getInstance(){//同步方法返回一个单例对象实例
if(singleton == null){
singleton = new Singleton();
}
return singleton;
}
}
饿汉式:
public class Singleton {
private static Singleton singleton = new Singleton();//创建一个实例对象
private Singleton(){//构造器私有化
}
public static Singleton getInstance(){//返回一个单例对象实例
return singleton;
}
}
两者有什么区别呢?饿汉式在一开始的时候就实例化对象了,用的时候得到这个对象就好了,所以饿汉式的速度快,效率高,但是如果一直没用到就会耗费系统资源;懒汉式则相反,在用的时候才实例化,但是这也出现一个问题,在多线程时,并不能保证这个类只被实例化一次,所以我们加一个synchronized,将其编程同步方法,这样就是一个线程安全的方法了。
鄙人还处于学习状态,请多多包涵
分享到:
相关推荐
为了更好地利用这些服务,开发者们总结了许多有效的设计模式,接下来将简要介绍几种常用的J2EE设计模式。 ##### 2.1 J2EE设计模式简介 J2EE设计模式主要关注于如何在J2EE环境中构建可伸缩、可维护的应用程序。这些...
本资料重点介绍了J2EE中的常用设计模式以及Structs框架的深入理解。 首先,让我们深入探讨设计模式。设计模式并非具体的代码实现,而是描述在特定情境下如何设计软件组件的一种通用解决方案。在J2EE中,常见的设计...
### Java常用设计模式详解 #### 一、设计模式概述 设计模式是一种在特定情况下解决软件设计问题的经验总结,它能够帮助开发者在面对相似的问题时快速找到解决方案。设计模式大致可以分为三大类:创建型模式、结构...
本指南将深入探讨在J2EE环境中常用的设计模式,帮助开发者更好地理解和应用这些模式。 **1. 单例模式** 单例模式确保一个类只有一个实例,并提供一个全局访问点。在J2EE中,例如EJB(Enterprise JavaBeans)中的...
Java语言和基于Java的企业版(J2EE)中,设计模式的应用尤为关键,它们帮助开发者构建出更加灵活、易于维护的系统架构。 在创建型模式中,涉及到对象创建机制,目的是使对象的创建过程更加灵活、可复用。其中,抽象...
### Java设计模式详解 #### 一、引言 ...本文介绍了几种常用的设计模式,包括J2EE设计模式和软件开发设计模式,并详细探讨了它们的应用场景。希望这些知识能够帮助你在开发过程中更加高效地解决问题。
本教程以"J2EE Web层设计模式实例演练"为主题,旨在帮助开发者深入理解和掌握在Web层中常用的设计模式,以提高代码质量、可维护性和可扩展性。 首先,我们要理解Web层在J2EE架构中的位置。Web层主要负责处理来自...
### 与Spring技术相关的J2EE设计模式 #### 1. 工厂模式 ##### 1.1 什么是工厂模式? 工厂模式是一种常用的创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法让类的实例化推迟...
接下来,“设计模式-迷你手册”可能是一本简洁明了的参考指南,涵盖了基本的设计原则和一些最常用的设计模式。它可能包括创建型模式(如抽象工厂、工厂方法、建造者、单例)、结构型模式(如适配器、装饰器、代理、...
尽管部分内容展示的信息有限,但从标题“J2EE核心模式004.pdf”以及描述来看,可以理解为这是一本专注于J2EE核心设计模式的书籍,对于学习和理解J2EE平台上的软件开发具有重要意义。 ### J2EE概述 J2EE是一种基于...
**第六章 设计模式的概念与常用的J2EE设计模式** 设计模式是解决特定问题的可重用解决方案。工厂模式和单例模式是J2EE中常见的设计模式。工厂模式用于创建对象,降低了对象实例化的耦合度;单例模式保证了类只有一...
本书《J2EE核心模式003》很可能是深入探讨了在J2EE开发过程中常用的设计模式,以及如何有效地将这些模式应用于实际项目中。 ### J2EE核心设计模式概览 #### 1. MVC(Model-View-Controller) MVC是一种经典的架构...
除了这些基本模式,压缩包中的其他文件可能涵盖更多设计模式,如23种设计模式设计总结和23种JAVA设计模式和15种J2EE设计模式,它们可能包括代理模式、装饰器模式、建造者模式、观察者模式、适配器模式等,这些都是...
设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之 Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new 一样频繁. ...
《Core J2EE Patterns》是Java企业级应用开发的经典之作,它详细介绍了在J2EE平台上构建可扩展、高效、可维护的系统所使用的最佳实践和设计模式。这本书的第二版源码对于深入理解J2EE开发中的核心概念和技术具有极高...
工厂模式是一种常用的软件设计模式,它的核心思想在于将实例化的责任交给一个专门的类——工厂类。这样做的好处是用户无需了解创建对象的具体过程,只需要知道如何获取对象。比如,当您带女朋友出去吃饭时,无论是在...