什么是模式?
模式 就是可以当做模型或模板的方式方法,再直白点就是可以用来当成样板被参考的方式方法,类似于大家熟悉的范例。设计模式是指设计方面的模式,也就是设计方面的方式方法。
设计模式是经过验证的,用于解决特定环境下,重复出现的特定问题的解决方案
特定环境:任何问题都是在某些场景下才会出现。
特定问题:说明这个解决方案不是什么问题都能解决,只能解决某些特定的问题。
重复出现:这样把解决方案总结出来才有意义,以后还可以继续使用。
经过验证:说明设计模式是相对比较优秀的方案,是可行的方案,这样才具有学习、研究和使用的价值。
理论上,设计模式并不一定是最好的,可能存在更好的解决方案,并且设计模式也在不断地发展中。
设计模式并非软件业独有,各行各业都有自己的模式。
设计模式能让我们复用一些相对优秀的解决方案,从而让程序设计得比较精良,还能够加快程序的设计和开发,能让系统更加专业,拥有更好的架构。
如何描述设计模式?
描述一个设计模式,通常包含如下四个部分:
模式名称:就是为每个设计模式取个名字,好记忆好交流
环境和问题:描述在什么场景下,出现什么样的特定的问题
解决方案:描述如何解决这个问题
效果:描述模式可能带来的问题,或者使用中需要权衡的问题
已有的设计模式:
Java设计模式:GoF《设计模式:可复用面向对象软件的基础》一书提到的23种;
JEE核心设计模式:Sun的《J2EE核心设计模式》一书中提到15种
EJB设计模式
实时设计模式:实时系统设计模式
多线程设计模式等等
为什么要学习设计模式?
1.设计模式都是一些相对优秀的解决方案,很多问题都是典型的、有代表性的问题。学习设计模式,我们就不用自己从头来解决这些问题,相当于站在巨人的肩膀上,复用这些方案即可。
2.设计模式已经成为专业人士的常用词汇,不懂不利于交流
3.能让你设计的系统更加专业,让系统有更好的架构