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.实现过程

1422552-20180726211900462-1028856914.png

二、工厂模式

1. 案例场景

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

2. 业务流程

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

3. 模型设计

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

1422552-20180726211912727-2118218234.png

4. 实现过程

1422552-20180726211926194-545250461.png

转载于:https://www.cnblogs.com/yokii/p/9374535.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值