设计模式
家有诗书
知识在于总结和分享。
展开
-
设计模式之Singleton(单态)
对设计模式主要参考了板桥里人 http://www.jdon.com 2002/05/07的blog,在这里我仅整理并发表到自己的blog中以便做个记录,方便随时查阅。定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。使用Singleton的好处还在于可以节省内存,因为它限制了原创 2011-10-31 14:51:16 · 1338 阅读 · 0 评论 -
设计模式之Factory(工厂模式)
工厂模式是很常见的一种模式,主要由三个元素构成:生产者、产品和购买者1.生产者:根据产品名称或者产品的特性生产相应的产品;2.产品:具有某种共性的产品,把产品的共性抽象到接口中,而每一种具体的产品针对本身特有的性质来实现接口方法;3.购买者:购买者向生产者订购某种产品,生产者将产品生产出来交给购买者。下面是产品接口类的代码:/** * 动物的某些共同特点 *原创 2011-10-31 17:34:15 · 1333 阅读 · 0 评论 -
设计模式之Strategy(策略模式)
笔者借鉴了《研磨设计模式》中的策略模式,在此做一个总结,以便自己查阅。1.策略模式的定义:定义一系列的算法,并把这些算法各自独立的在类中实现,使得客户可以任意调用一个或多个算法。2.策略模式主要解决什么样的问题策略模式主要的目的是将使用算法的客户和算法分开并独立出来。使得客户可以任意的调用某种算法。每个计算方式做成一个单独的算法类,从而形成一系列的算法,并且为这一系列算法定原创 2011-12-22 15:25:36 · 1548 阅读 · 0 评论 -
设计模式之Decorator(装饰模式)
笔者借鉴《Head First Design Patterns》一书中的装饰模式,对此模式做个总结,以便查阅。一、什么是装饰模式1、首先看一下装饰模式官方的定义:TheDecorator Patternattaches additional responsibilities to an object dynamically. Decoratorsprovide a flexible a原创 2011-12-28 11:45:46 · 1783 阅读 · 0 评论 -
设计模式之Bridge(桥接模式)
一、问题的提出如果有如下需求,需要画三种图形:五角星、正方形和圆,而却这三种图像分别可以着三种颜色:红色、蓝色和红色。于是就产生了红色的星星、黄色的星星、绿色的正方形、黄色的正方形等等。现在是三种图形,三种颜色,于是我们就一共去声明了九个类,当然我们还不算中间过程中的辅助父类。如果我们现在是18种图形,12种颜色,那么我们就需要写18*12个类,然后加上12个颜色的类和一个总父类,一共我们需要原创 2012-01-05 11:21:29 · 3826 阅读 · 0 评论 -
设计模式之Proxy(代理模式)
笔者阅读了网上众多的有关代理模式的文章,在这里做个总结,以便查阅。一、代理模式的定义对其他对象提供一种代理以控制对这个对象的访问。代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、代理模式的类结构图对类结构图的说明:1:抽象主题角色(Abstra原创 2012-01-09 15:02:52 · 1949 阅读 · 0 评论 -
设计模式之Command(命令模式)
对命令模式做一个总结,以便查阅。一、什么是命令模式 1、命令模式的定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。2、命令模式的类图: 3、对命令模式的解释Command: 定义命令的接口,声明执行的方法。ConcreteCommand:原创 2012-01-04 11:09:02 · 1664 阅读 · 0 评论 -
设计模式之Build(生成者模式)
一、生成器模式的定义:生成器模式也称为建造者模式。生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF)。在软件设计中,有时候面临着一个非常复杂的对象的创建工作。这个复杂的对象通常可以分成几个较小的部分,由各个子对象组合出这个复杂对象的过程相对来说比较稳定,但是子对象的创建过程各不相同并且可能面临变化。根据OOD中的OCP原则,应该对这些子对象的创建原创 2012-01-06 10:57:26 · 9183 阅读 · 1 评论