011.day011

目录

day11笔记

一、单例模式

1.类型

1)单例模式-饿汉式

当获得到单例对象时,就已经是一个实例化后的对象

private static Boss boss = new Boss();
    // 声明为私有的构造方法后,可以在当前类下正常调用
    // 在当前类下定义一个自身类型的成员,用于接收(由私有构造方法创建)实例
    // 使用static声明后,已经基本实现了功能
    public static Boss getBoss() {
        return boss;
    }

2)单例模式-懒汉式

需要用到对象的时候才去实例化,每次实例化前先进行检查,如果已经实例化则直接取用

private static Boss boss;
    
    // 通过static声明后的成员变量可以实现共享
    // 通过其他方法获取实例后,通过set方法覆盖掉之前产生的实例
    // 将已经获取到的单例实例传入,依然是单例本身
    /*public void setBoss(Boss boss) {
        
    }*/
    
    public static Boss getBoss() {
        // 每次返回的都是同一个实例
        // 懒汉式:在使用时(getBoss)方法调用时先进行检查,如果已经实例化则直接返回,否则创建一个再返回
        if (boss == null) {
            boss = new Boss();
        }
        return boss;
    }

2.案例

1. 案例场景

一个公司只有一个老板,各部门员工需要向老板汇报工作或发起流程申请

2.业务流程

老板有可能不在公司,在公司时可以正常处理工作,不在公司时员工的行为不能成功执行

3.模型设计

  • Boss(单例模式->只有一个类的实例)
  • 销售
  • 行政
  • 财务

4.实现过程

二、工厂模式

1. 案例场景

用户提出一个描述性的订购需求,直接联系到服装厂,服装厂根据用户的需求给出相应的回应

2. 业务流程

获取用户的需求信息,如果能够满足需要则通知相应的生产车间(实例化相应的对象),进行供货,如果不能满足(判空处理)则给出相应的回应

3. 模型设计

  • 服装厂(接口)
  • 夏季服装生产车间(服装厂的实现类)
  • 冬季服装生产车间(服装厂的实现类)

4. 实现过程

猜你喜欢

转载自www.cnblogs.com/yokii/p/9374535.html
011