JAVA 什么是设计模式,请举例说明其中一个。

如题。什么是设计模式,请举例说明其中一个。... 如题。 什么是设计模式,请举例说明其中一个。 展开
 我来答
herox_hu
2013-11-25 · TA获得超过776个赞
知道小有建树答主
回答量:1122
采纳率:0%
帮助的人:325万
展开全部
设计模式(Design Patterns)

——可复用面向对象软件的基础


计模式(Design
pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代
码可靠性。
毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用
设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决
方案,这也是它能被广泛应用的原因。

一、设计模式的分类

总体来说设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。

例子:

单例模式(Singleton)
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:

1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。

2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。

3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。

首先我们写一个简单的单例类:

[java] view plaincopy

public class Singleton {

/* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */
private static Singleton instance = null;

/* 私有构造方法,防止被实例化 */
private Singleton() {
}

/* 静态工程方法,创建实例 */
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}

/* 如果该对象被用于序列化,可以保证对象在序列化前后保持一致 */
public Object readResolve() {
return instance;
}
}
huyingjava
推荐于2017-11-26 · TA获得超过552个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:102万
展开全部
设计模式就是设计程序的一种方法的总结,比如单例模式

public class A {
private static final A a = new A() ;
private A(){}
public static A getInstance(){
return a ;

}

}

这样A永远只能有一个实例,因为他的构造方法已经是私有的,必须通过方getInstance方法来获取实例而且无论是多线程还是单线程无论获得多少次只有一个A的对象在为你服务。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0adf2dfc62
2013-11-25 · TA获得超过578个赞
知道小有建树答主
回答量:553
采纳率:50%
帮助的人:216万
展开全部
设计模式是不限定某种开发语言的 就是把解决某一类问题的方法抽象成一种固定的模式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2013-11-25 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1976万
展开全部
布局管理器是策略模式
swing组件式MVC模式、观察者模式
边框是修饰模式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北西234
2013-11-25
知道答主
回答量:4
采纳率:0%
帮助的人:2.8万
展开全部
面向对象,区别于c的面向过程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式