随笔分类 - 设计模式
摘要:享元模式概述 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 引入应用示例帮助理解该模式
阅读全文
摘要:观察者模式概述 观察者模式是对象的行为模式,又叫做发布 订阅模式、模型 视图模式、源 监听器模式或者从属者模式,这个模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 代码体现 由上面的描述,我们设想
阅读全文
摘要:的略模式概述 问题引入 解决方案 代码体现 所对应的类图: 运行结果 由上面的例子可以看出——策略模式有三个角色: 1、环境角色(Context类),持有一个strategy类的引用 2、抽象策略角色(strategy类)这是一个抽象角色,通常有一个接口或者抽象类实现,此角色给出所有具体策略类所需的
阅读全文
摘要:桥接模式概述 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 代码示例 桥
阅读全文
摘要:什么是适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类(通常叫Adapter类),该类负责加入独立的或不兼容的接口功能。 举个真实的例子,读卡器是作为内存卡和笔记本之间
阅读全文
摘要:概述 Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 意图:将一个复杂的构建与其表示相分离,使得同
阅读全文
摘要:什么是原型模式 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。 原型模式的特点 1. 由原型
阅读全文
摘要:什么是单例模式 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 其实,GoF(《Design Patterns: Elements of Reusable Object Oriented Software》(即后
阅读全文
摘要:装饰模式的概念 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。 装饰模式的角色和职责 抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口。 具体组件角色:为抽象组件的实现类。抽象装饰角色:包含一个组件的引用,并定义了与抽
阅读全文
摘要:简介 工厂模式有三种:简单工厂模式,工厂方法模式,抽象工厂模式,这三种都属于工厂模式,但各有不同。 简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 模式中包含的角色及其职责 1.工厂(Creator)
阅读全文
摘要:静态代理 静态代理是在编译时就将接口、实现类、代理类一股脑儿全部手动完成,但如果我们需要很多的代理,每一个都这么手动的去创建实属浪费时间,而且会有大量的重复代码 。 例如: 运行结果为: 通过上述例子,我们看到,静态代理需要手动的取创建,并且在以后我们有可会对tank这个类进行日志管理,权限管理,事
阅读全文
浙公网安备 33010602011771号