一、概述
设计模式是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的。Java中设计模式(java design patterns)通常有23种。
二、MVC思想
1、M--Model(模型)
2、V--View(视图)
3、C--Controller(控制器)
三、三层思想
1、表示层
2、业务逻辑层
3、数据访问层(DAO)
四、单例模式
1、特点:
(1)一个类只有一个实例
(2)提供一个全局访问点
(3)禁止拷贝
2、实例:酷狗音乐、KTV点歌系统、网易云音乐
五、工厂模式
1、分类:简单工厂模式、抽象工厂模式。
2、实例:框架springMvc、struts2、hibernate
六、代理模式
1、分类:静态代理、动态代理
2、实例:框架spring动态代理,struts2中拦截器,面向切面的编程
七、饿汉模式和懒汉模式
1、饿汉模式:就是在类初始化的时候,创建对象,这种方式是线程安全的,在程序运行期间就这一个对象。
public class Singleton{
private static Singleton singleton = new Singleton ();
private Singleton (){
}
public Singleton getInstance()
{
return singletion;
}
}
2、懒汉模式:是在第一次使用时才创建对象。
public class Singleton{
private static Singleton singleton = null;
public static synchronized synchronized getInstance(){
if(singleton==null){
singleton = new Singleton();
}
return singleton;
}
}
3、如果在多线程环境中要考虑线程安全问题。优先使用饿汉模式,不用考虑线程安全问题。
八、其它设计模式
1、工厂模式(Factory)
2、建造模式(Builder)
3、原始模型模式(Prototype)
4、单例模式(Singleton)
5、适配器(Adapter)
6、桥梁模式(Bridge)
7、合成模式(Composite)
8、装饰模式(Decorator)
9、门面模式(Facade)
10、享元模式(Flyweight)
11、代理模式(Proxy)
12、职责链(Chain of Responsibility)
13、命令模式(Command)
14、解释器模式(Interpreter)
15、迭代子模式(Iterator)
16、调停者模式(Mediator)
17、备忘录模式(Memento)
18、观察者模式(Obserber)
19、状态模式(State)
20、策略模式(Strategy)
21、模板方法模式(Template Method)
22、访问者模式(Visitor)