03 2020 档案
摘要:应用场景 业务概念上只适合在系统中保留一份的数据,比如系统的配置信息类适合设计为单例模式,还可以使用单例模式解决多个实例访问资源冲突的问题。 实现 饿汉式 懒汉式 双重检测 简洁版双重检测,Lazy,Lazy是线程安全的,内部封装了需要的锁。 内部静态类 实现对比 1. 饿汉式,在类加载期间就已经将
阅读全文
摘要:定义 提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。 UML类图 实现 案例:提供一个创建手机的应用,根据不同的配件类型,生产不同类型的手机(安卓/iPhone) 定义接口 抽象工厂 CPU 主板 外壳 具体工厂类 安卓工厂 IOS工厂 具体零件类(Member) 安卓 IO
阅读全文
摘要:共同点 实现了将对象的创建与使用解耦 不同点 简单工厂通过封装对象的创建,实现了对象的创建提取到简单工厂的创建方法,使其可以独立变化与复用。工厂方法、抽象工厂通过在高层组件(Creater)定义抽象依赖,根据依赖倒置原则,实现了客户端与具体产品的解耦。 工厂方法:通过在Creater定义抽象的Pro
阅读全文
摘要:定义 定义了一个创建对象的接口,由子类决定实例化哪一个对象,工厂方法让类把实例化推迟到子类。 UML类图 实现 案例:提供一个画图程序,支持柱状图和饼图,根据不同的用户类型(免费/付费),显示不同的图形版本,付费用户会得到更丰富的图形显示。 为了能够简单描述工厂方法模式,应用以控制台应用的形式编写
阅读全文

浙公网安备 33010602011771号