设计模式的初步认识

http://blog.csdn.net/zhangerqing/article/details/8194653/

http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html

看了上面2篇文章, 对设计模式有了一个初步简单的了解,把自己很肤浅的理解写在下面,当作索引以后学习回顾

Design Pattern
创建型 Factory (工厂模式)
Singleton (单例模式)
结构型 Adapter (适配器模式)
Decorator (装饰器模式)
Proxy (代理模式)
Fa?ade (外观模式)
Bridge (桥接模式)
Composite (组合模式)
Flyweight (享元模式)
行为型 Strategy (策略模式)
Template (模板方法)
Observice (观察者模式)
Iterator (迭代子模式)
Chain of Responsibily (责任链模式)
Command (命令模式)
Memento (备忘录模式)
State (状态模式)
Visitor (访问者模式)
Mediator (中介者)
Interprefer (触发器)

Adapter (适配器模式) 对类: public class Adapter extends Source implements Targetable

            对象:和对类的模式相同, 但不继承Source类, 在对象中调用另一个对象 (Source作为构造器参数传入Adapter)

            对接口:abstract实现interface中所有抽象方法, 实现类只需要继承abstract即可, 可以自由的选择需要的部分方法, 不需要重写所有方法

Decorator (装饰器模式) : 对原方法进行扩展, 扩展前后需要实现同一个接口, 保持方法名的相同. 原类存在扩展类的构造参数中

Proxy (代理模式) : 对原类进行扩展, 原类存在扩展类的构造参数中, 使用权交给Proxy类. 对原类可以进行更加复杂的组装, 相比Decorator更加灵活

Fa?ade (外观模式) : 配置类之间的关系, 有点像主板, 对各个相互依赖的类进行组装以实现一个特定的功能

Bridge (桥接模式) : 动态的选择使用类, MyBridge中实现了具体功能, 但其所需的驱动类需要根据具体使用者选择不同的类, 为此定义了一个interface, 在Mybridge中调用这个接口进行模拟。 由Bridge实现动态的注入interface的具体实现类, public class MyBridge extends abstract Bridge。(工厂模式的创建需要显式的知道接口的具体名称,          但桥接模式并不需要, 通过set方法实现)

Composite (组合模式) : 递归调用, 树结构的实现

Flyweight (享元模式) :

Strategy (策略模式) :  public abstract class AbstractCalculator; public class Plus extends AbstractCalculator implements ICalculator; 借助辅助类实现接口

Template (模板方法) : public class Plus extends AbstractCalculator ; AbstractCalculator 集成共同算法(实现, 功能), 让其子类重写具体的算法实现。给一个模板, 子类继承后重写个性化的内容

Observice (观察者模式) : 在被观察者类中存储观察者属性, + 策略模式, 借助策略模式中的辅助类, 在辅助类中添加观察者属性, 在需要的时候notifyAll

Iterator (迭代子模式) : 集合容器的接口中定义对Iterator接口的调用, 具体的集合容器实现类需要把自身的引用传给实现Iterator的类, 这个类需要和对应的集合容器匹配

Chain of Responsibily (责任链模式) : 同一个时刻, 命令只允许一个对象传递给另一个对象, 和组合模式不同

Command (命令模式) : 一层一层 (任务的细化分工), 每一层只需将自己的任务分配或同时完成少量工作, 具体的任务实现交由下一层管理, 下一层再重复这套动作, 直到命令完成

Memento (备忘录模式) : 原始类中需要有创建备忘录的方法, 创建一个备忘录对象交由另一个对象存储管理

State (状态模式) : 状态的改变, 对应调用的方法也要改变

Visitor (访问者模式) : 被访问者拥有访问者的使用权限, 在被访问者中定义一个方法传递自身引用给访问者, 访问者想要访问被访问者(获得被访问者的对象引用), 只能通过被访问者调用, 访问者的权限由被访问者管理

Mediator (中介者) : 第三方类组合其它类

Interprefer (触发器) : (对数据的存储)

时间: 2024-11-08 17:17:36

设计模式的初步认识的相关文章

设计模式——初步学习

参考:http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445 http://baike.baidu.com/link?url=OhPS9yyf4pqRbfzFkEusLhNVbyEtnmuuAJCfms-26pXHfHh80zRdiVbByBUSz1Xgv3yt7eNaoyXu7h0_vHt8_K 百度百科中关于设计模式的定义:一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验

设计模式初步了解

1.单例模式 Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供.” 目的:是使内存中保持1个对象. 单例模式三种常用形式: 第一种形式:懒汉式,也是常用的形式. public class SingletonClass{ private static SingletonClass instance=null; public static SingletonClass getInstance() { if(instance==null) { instance=new S

初步了解设计模式

一.设计模式介绍 1.设计模式 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解. 保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样. 项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题, 以及该问题的核

IOC设计模式初步了解(day02)

IOC(Inversion of Control):控制反转. *其他解释:依赖注入.依赖反转…… 设计目标:简化JEE的研发工作,提供IOC容器,控制bean的生成.注入,解耦. 看了网上的一些帖子.介绍,书籍中的一些剖析,都不是很了解IOC这个概念,于是找来这么段代码,直接从代码上去理解了. interface A{ } public class B implements A { } 正常情况下,我们要使用到A接口的实现都是这样: A a = new B(); 但在IOC实现Spring中则

java工厂设计模式初步

没有利用反射机制定义的简单工厂类 interface Fruit{ public void eat(); } class Apple implements Fruit{ public void eat(){ System.out.println("吃苹果"); } } class Orange implements Fruit{ public void eat(){ System.out.println("吃橘子"); } } //下面定义一个工厂,取得子类的实例化

接口\设计模式\内部类的初步了解

接口 可以理解为特殊的抽象类 关键字interface -->接口 接口的优点 接口是功能体的集合 是一个引用数据类型 能够解耦 规定开发规范 jdk在1.7之前 属性: 必须是公共的静态的常量 public static final public staic final 可以选择性省略(默认) 方法:必须是公共的抽象的方法 public abstract 返回值类型 方法名(); public absract 可以选择性省略 注意: 接口的实现与类的继承非常像,但是不一样在: 子类继承父类就可

对设计模式的总结之简单工厂与策略模式

前言 面向对象编程追求的本质-提高扩展性.可维护性.灵活性和复用性.合理利用面向对象6个原则,能够很好的达到要求.如何利用好就是至关重要的了,前人总结了23+个设计模式能够让初学者更容易学到其中的精髓,本文就说说我对本人对简单工厂模式.策略模式的见解. 简单工厂模式与策略模式 简单工厂模式 工作中,常常遇到需要做一个功能(鸭子),这个功能中含有可控个数的子操作功能(鸭子叫,鸭子跑,鸭子飞),而且子功能在不同的情况下处理方式又不相同(成年鸭子/小鸭子叫,成年鸭子/小鸭子跑,成年鸭子/小鸭子飞).我

DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据库资源中间. DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式.Data Accessor 模式实现了数据访问和业务逻辑的分离:Active Domain Object 模式实现了业务数据的对象化封装. 需要注意的是,DAO设计模式是Java EE中的设计模式,而非Ja

PHP设计模式——简单工厂

声明:本系列博客参考资料<大话设计模式>,作者程杰. 前面两节内容介绍了什么是设计模式以及六大原则,相信看完前两节内容大家对设计模式已经有了初步的认识,接下来说一下设计模式的分类. 一般将面向对象设计模式分为三类:创建型.结构型.行为型三种. 创建型:创建对象时,不再由我们直接实例化对象:而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能.更好的架构优势.创建型模式主要有简单工厂模式(并不是23种设计模式之一).工厂方法.抽象工厂模式.单例模式.生成器模式.原型模式. 结构型:用