`

对于代理模式、策略模式、模板模式的一些理解

阅读更多

其实之前自己并没有系统去学习设计模式,当然以前也有接触过一些,比如常见的有:工厂模式、单例……当然,我先前也没有系统地去学习过,所以,在此的一些理解只是自己在写代码过程中所推断的,并不一定符合标准的模式。下面谈下自己一些通俗的理解。


代理模式 :假如说现在有生产商、客户、 中间商 这个几个对象,那么,他们直接需要建立关系,产生作用的话,可以是生产商与客户直接的沟通,也可以两者通过一个中间商。而代理这种模式,差不多就是一种代理。其实,在日常生活中,我们有时候也会把中间商称之为代理,代理的作用就是本来一些可能在生产商或者客户之间需要完成的东西,可以转移到代理这个环节上来。反应到面向对象上来可以说是在A类或者B类上可能需要处理的东西,现在可以交给联系他们两者关系的 桥梁 C类,也就是所谓的代理来完成。

例子:我之前写的数据源,连接池的示例,写了一个Connection的代理,从而使加了连接池,数据源之后,对于Connection的 操作保持不变 ,和原始JDBC的方式一样。


策略模式 :从面向对象的角度,简单来说,是一种 基于接口 ,或者叫 抽象 的编程,一些主要的逻辑或者说流程,可以将他们高度抽象化,然后交给具体的某个类去实现,就是说,我为了实现某种功能,可以通过不同的方式去完成,也就是在此所谓的“策略”。就好比天热了,可以扇扇子,也可以扇电扇,或者开空调,它们这几种方式目的都是差不多的,目的上或许稍微有些差别,但影响不大,都是为了“凉快”,只是用了不同的“ 策略 ”。

例子:基于接口编程的方式


模板模式 :从字面上来理解,就是把某个功能实现过程的“ 通用 ”,或者“ 共同 ”的部分给提取出来,进行模块化。

例子:使用Junit进行单元测试的时候,在开始前可以自定义一些操作,在测试完成后也可以定义一些操作,中间是具体的测试过程。其实也可以把类的初始化,构造,析构(JAVA中可能没有这种说法,就是类的消亡)的过程看成一种基于模板的方式;Spring源码中有基于JDBC方式的操作,也是一种模板模式。


以上纯属自己的一些想法,不一定科学。


分享到:
评论

相关推荐

    设计模式:简单工厂、方法工厂、抽象工厂、单例、原型、委派、模板、代理、策略

    7. **模板方法**:模板方法模式是一种行为设计模式,定义了操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 8. **代理**:代理模式为其他对象提供...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    3. **代理模式**:代理模式为其他对象提供一种代理以控制对这个对象的访问。它可以用来在访问目标对象前添加额外的功能,如权限检查、日志记录或者缓存策略。Java中,静态代理和动态代理(Java Proxy API)是常见的...

    设计模式课件大全

    PPT内容包括:内附代码,实例,方便理解。 继承、封装、多态、UML 设计模式02 设计模式03-创建型模式 ...设计模式16-策略模式、模板方法、访问者 此PPT实例便于理解,对于深入理解OO思想有很大帮助。

    java的设计模式.对java设计模式的理解.

    行为型模式涉及对象之间的交互和职责分配,如观察者模式、模板方法模式、策略模式、命令模式、迭代器模式、访问者模式、备忘录模式、状态模式、解释器模式和责任链模式。 二、Java中的具体设计模式 1. 单例模式:...

    24种设计模式以及混合设计模式

    如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、命令模式(Command)、迭代器模式(Iterator)、访问者模式(Visitor)、备忘录模式(Memento)、状态模式(State)、职责链...

    设计模式之美——教你写出高质量代码

    3. 行为型模式:如策略模式、模板方法模式、观察者模式、命令模式、迭代器模式、责任链模式、备忘录模式、状态模式、解释器模式和访问者模式。这些模式主要处理对象之间的通信和行为,让代码更易于理解和扩展。 在...

    新版设计模式手册 - C#设计模式(第二版)

    例如,策略模式允许在运行时选择不同的算法或策略,而模板方法模式则定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。这两种模式在处理复杂逻辑和保持代码可扩展性方面都有显著优势。 此外,书中可能还会...

    设计模式插件

    - **行为型模式**:如责任链模式、命令模式、解释器模式、迭代器模式、访问者模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、 visitor模式。 深入理解和掌握这些模式,能够使开发者...

    C#面向对象设计模式纵横谈(25):设计模式总结

    16. 策略模式:策略模式定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法的变化独立于使用算法的客户。 17. 命令模式:命令模式将请求封装为一个对象,使得可以使用不同的请求、队列请求、...

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    包括创建型模式(如单例模式、工厂方法模式、抽象工厂模式)、结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如责任链模式、命令模式、解释器模式、...

    重学java的设计模式

    行为型模式有责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。这些模式主要关注如何在对象间传递消息、控制流程以及执行特定...

    JavaScript 设计模式(高清扫描版本)- 张容铭

    3. 行为型模式:这些模式关注对象之间的交互和职责分配,包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。在JavaScript中...

    GOF设计模式中英文+设计模式精解中英文

    结构型模式关注如何组合对象和类以构建更复杂的设计,如适配器模式、装饰器模式、代理模式等;行为型模式则关注对象之间的交互和职责分配,例如策略模式、观察者模式、责任链模式等。 GOF设计模式包括23种经典模式...

    C#设计模式-整理收藏(吕震宇 设计模式速成经典示例)

    行为型模式如观察者模式、命令模式、策略模式、模板方法模式、访问者模式等,关注对象之间的交互和职责分配。 在C#中,设计模式的应用无处不在,例如: 1. 单例模式:确保一个类只有一个实例,并提供全局访问点。...

    设计模式Java版

    行为型模式关注对象间职责分配和通信,比如策略模式、模板方法模式、观察者模式、责任链模式、迭代器模式、命令模式、备忘录模式、状态模式、访问者模式和解释器模式。 对于Java开发者来说,理解并熟练运用这些模式...

    设计模式那点事

    包括责任链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy...

    基于Java的设计模式理解与实现.pdf

    包括解释器模式、策略模式、模板方法模式、观察者模式、责任链模式、命令模式、迭代器模式、备忘录模式、状态模式、中介者模式和访问者模式。这些模式在处理对象行为时,能够帮助我们减少类的数量和增强程序的可复用...

    设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板.pptx

    14. 模板方法模式:模板方法模式是一种行为型模式,它在抽象类中定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。子类可以不改变一个算法的结构即可重定义其中特定的步骤。 15. 观察者模式:观察者模式是一...

Global site tag (gtag.js) - Google Analytics