03 2020 档案

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