随笔分类 - 设计模式
摘要:装饰者模式(decorator) 装饰者模式又称为包装模式(Wrapper),作用是用来动态的为一个对象增加新的功能。装饰模式是一种用于代替继承的技术,无须通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀 1.实现细节 |角色|说明| | |
阅读全文
摘要:组合模式(Composite) 使用场景 把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象. 组合模式核心: 1.抽象构件(Component)角色: 定义了叶子和容器构件的共同点 2.叶子(Leaf)构件角色: 无子节点 容器(Composite)构件角色:
阅读全文
摘要:桥接模式 将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度 1.多层继承结构 在现实生活中比如商城中以电脑为例来说,如何处理电脑销售分类的问题,我们可以使用多层继承结构实现这种场景 问题 1.1扩展性问题 如果要增加一个新的扩展类型:
阅读全文
摘要:适配器模式 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 模式中的角色 1.目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 2.需要适配的类(Adaptee):需要适配的类或适配者类
阅读全文
摘要:代理模式 23中(Gof)中代理模式中的一种,AOP本身就是基于动态代理实现的。 1.静态代理模式 若代理类在程序运行前就已经存在,那么这种代理方式被成为 静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和目标类会实现同一接口或是派生自相同的父类。
阅读全文
摘要:建造者模式 在现实生活中如果我们需要制造一个比较复杂的东西,比如手机,台式电脑,或者汽车等。如果我们要制造一台电脑的话我们会先将电脑所需的各个部件买回来然后在组装起来成为一台电脑。这里电脑所需的各个组件比如显示器,CPU,硬盘等等都是由不同的厂商生产的,然后被我们不同的组合而成了不同的产品。这是现实
阅读全文
摘要:单例模式 单例模式的核心是保证一个类只有一个实例,并且提供一个访问实例的全局访问点。 单例的使用场景 Spring中bean对象的模式实现方式 servlet中每个servlet的实例 spring mvc和struts1框架中,控制器对象是单例模式 应用程序的日志应用,一般都何用单例模式实现,这一
阅读全文
摘要:设计模式学习笔记 设计模式按照功能可分为:创建型模式、结构型模式、行为型模式 这三大类 创建型模式 单例模式 单例模式的核心是保证一个类只有一个实例,并且提供一个访问实例的全局访问点。 简单工厂 是用工厂方法代替new操作的一种模式,工厂模式在Java程序中可以说是随处可见. 用来生产同一等级结构中
阅读全文