随笔分类 - 设计模式
摘要:单例设计模式:确保一类只有一个实例,并提供一个全局访问点。 应用场景: 线程池、缓存、日志对象、注册表设置等 多线程下同步全局实例获取的方法 public class Singleton{ private static Singleton singleton = null; private Sing
阅读全文
摘要:单例模式:保证系统中一个类只会产生一个实例,主要解决一个全局使用的类频繁地创建与销毁。 好处 时间好处 - 省略频繁创建某个常用类对象的时间 空间好处 - 减少内存使用频率,减轻GC压力 单例模式角色 角色 作用 单例类 提供单例的工厂,返回单例 使用者 获取并使用单例类对象 注意 1、单例类只能有
阅读全文
摘要:抽象工厂(AbstractFactory) 模式的定义: 是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 工厂方法模式针对多个产品系列结构,例如畜牧场只养动物、电视机厂只生产电视机、洗衣机厂只生产洗衣机等(工厂方法模式
阅读全文
摘要:工厂模式概念: 实例化对象,用工厂方法代替new操作 工厂模式包括工厂方法模式和抽象工厂模式 抽象工厂模式是工厂方法模式的扩展 两种工厂模式具体定义: 简单工厂(简单工厂不是设计模式而是编程习惯,有些人误以为是“工厂模式”):将共性的算法抽取,进行抽象定义在一个类作为工厂类,工厂类根据参数化方法来实
阅读全文
摘要:装饰者模式在不修改底层代码的情况下动态赋予对象新的责任。 解决什么问题? 动态增加功能,动态撤销。 扩展一个类的功能。 使用子类将不同的子类以不同的方式扩展类,但扩展是在编译时绑定到该类,不会在运行时更改; 模式的结构-类图 装饰模式主要包含以下角色。 抽象构件(Component)角色:定义一个抽
阅读全文
摘要:以OO的角度看待这个世界,其由数不尽的对象构成,而对象之间(1:1,1:n,m:n)都会产生相应的影响。 eg: 羊🐑吃了老师布置的作业将导致小明被老师揍,气象局的天气预报将影响受众们日常出行等 观察者模式—— 在对象之间创建一对多的关系,当一个对象发生数据域的改变时,将通知所有依赖于该对象的对象
阅读全文
摘要:Strategy Pattern enables selecting an algorithm at runtime. In more detail, code receives run-time instructions as to which in a family of algorithms
阅读全文