Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
1..单例设计模式
最好理解的一种设计模式,分为yhy式和饿汉式。
1.1 饿汉式
1.2yhy式
public class SingletonLHsyn { /** *是否 Lazy 初始化:是 *是否多线程安全:是 *实现难度:易 *描述:这种方式具备很好的 lazy loading,能够在多线程中很好的工作,但是,效率很低,99% 情况下不需要同步。 *优点:第一次调用才初始化,避免内存浪费。 *缺点:必须加锁 synchronized 才能保证单例,但加锁会影响效率。 *getInstance() 的性能对应用程序不是很关键(该方法使用不太频繁)。 */ private static SingletonLHsyn instance; private SingletonLHsyn (){} public static synchronized SingletonLHsyn getInstance() { if (instance == null) { instance = new SingletonLHsyn(); } return instance; }}