设计模式介绍

创建型模式:针对对象的创建方式

简单工厂模式、工厂方法模式、抽象工厂模式、创建者模式、原型模式、单例模式。

结构性模式:针对对象组成结构的操作

外观/门面模式、适配器模式、代理模式、装饰模式、桥梁/桥接模式、组合模式、享元模式。

行为型模式:针对对象行为的操作模式

模板方法模式、观察者模式、状态模式、策略模式、职责链模式、命令模式、调停者模式、备忘录模式、迭代器模式、解释器模式。

代码实例

单例模式

  • 生活案例
    国家施行的计划生育政策,规定一对夫妇只生一胎,刚结婚时,确定生一胎,生完后无论如何不能再生,否则违背国家政策。
  • 程序概念
    所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。
class Singleton {
    private static Singleton instance = new Singleton();// 饿汉式

    public static Singleton getInstance() {
        return instance;
    }

    private Singleton() { // 构造方法封装为私有化
    }
}
public class Test2 {
    public static void main(String args[]) {
        Singleton s1 = Singleton.getInstance(); //两个对象一致
        Singleton s2 = Singleton.getInstance();
    }
}

简单工厂模式

  • 生活案例
    一个卖肉工厂可以生产猪肉、狗肉、羊肉、牛肉等,工厂很清楚有哪些的产品,所以我们只需要工厂提供即可
  • 程序概念
    简单工厂又叫静态工厂,由一个工厂对象决定创建哪一个产品对象
public class Factory {
    public static int PIG_TYPE = 1;
    public static int DOG_TYPE = 2;

    public static Animal getAnimal(int flag) {
        if (flag == PIG_TYPE) {
            return new Pig(); //获取猪肉对象
        } else if (flag == DOG_TYPE) {
            return new Dog(); //获取狗肉对象
        }
        return null;
    }
}
public class Test2 {
    public static void main(String args[]) {
        //获得狗肉对象
        Animal a = Factory.getAnimal(Factory.DOG_TYPE);
    }
}
Last modification:March 21st, 2021 at 11:38 pm
我从来都不喜欢钱,我也没碰过钱,我对钱没兴趣