随笔分类 -  编程

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 25 下一页
开发,计算机,源码,编程,语言,经验,转载,学习,记录
摘要:接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图:Abstracthandl... 阅读全文
posted @ 2015-05-16 20:32 243573295 阅读(264) 评论(0) 推荐(0)
摘要:顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:这个思路和我们常用的一模一样,MyCollection中定义了集合的... 阅读全文
posted @ 2015-05-16 20:30 243573295 阅读(259) 评论(0) 推荐(0)
摘要:包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就... 阅读全文
posted @ 2015-05-16 20:28 243573295 阅读(201) 评论(0) 推荐(0)
摘要:解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系图:就是在AbstractCalculator类中定义一个主方法calculate,calculat... 阅读全文
posted @ 2015-05-16 20:26 243573295 阅读(184) 评论(0) 推荐(0)
摘要:策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalculator提供同意的方法,Abstract... 阅读全文
posted @ 2015-05-16 20:25 243573295 阅读(273) 评论(0) 推荐(0)
摘要:享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象,如果有,就返回已经存在的对象,如果没有,则创建一个新对象,FlyWe... 阅读全文
posted @ 2015-05-16 20:21 243573295 阅读(389) 评论(0) 推荐(0)
摘要:组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:直接来看代码:public class TreeNode { private String name; private TreeNode parent; private Vecto... 阅读全文
posted @ 2015-05-16 20:19 243573295 阅读(268) 评论(0) 推荐(0)
摘要:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,... 阅读全文
posted @ 2015-05-16 20:18 243573295 阅读(206) 评论(0) 推荐(0)
摘要:外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例)实现类:public class CPU { ... 阅读全文
posted @ 2015-05-16 20:14 243573295 阅读(249) 评论(0) 推荐(0)
摘要:其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替... 阅读全文
posted @ 2015-05-16 20:12 243573295 阅读(259) 评论(0) 推荐(0)
摘要:顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:public interface Sourc... 阅读全文
posted @ 2015-05-16 20:10 243573295 阅读(190) 评论(0) 推荐(0)
摘要:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图:核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targeta... 阅读全文
posted @ 2015-05-16 20:07 243573295 阅读(280) 评论(0) 推荐(0)
摘要:原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建... 阅读全文
posted @ 2015-05-16 19:55 243573295 阅读(215) 评论(0) 推荐(0)
摘要:Object中的clone方法为复制当前对象protected native Object clone() throws CloneNotSupportedException;想要使用这个方法需要在类中覆盖重写这个方法然后返回super.clone()原因因为方法权限为protected只有子类才能... 阅读全文
posted @ 2015-05-16 19:47 243573295 阅读(294) 评论(0) 推荐(0)
摘要:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示] 与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。 建造模式是将复... 阅读全文
posted @ 2015-05-16 19:32 243573295 阅读(238) 评论(0) 推荐(0)
摘要:单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所... 阅读全文
posted @ 2015-05-16 19:25 243573295 阅读(230) 评论(0) 推荐(0)
摘要:工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。为工厂类做一个统一的父... 阅读全文
posted @ 2015-05-16 19:14 243573295 阅读(192) 评论(0) 推荐(0)
摘要:工厂方法模式(Factory Method) 工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。在以下的三种模式中,第一种如果传入的字符串有误,不能正确创建对象,第三种相对于第二种,不需要实例化工厂类,所以,大多数情况下,我们会选用第三种——静态工厂方... 阅读全文
posted @ 2015-05-16 19:02 243573295 阅读(220) 评论(0) 推荐(0)
摘要:&与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0例如下面的程序段。public class data13{public static void main(String[] args){int a=129;int b=128;System.out.pr... 阅读全文
posted @ 2015-05-16 18:18 243573295 阅读(2448) 评论(0) 推荐(0)
摘要:|或运算符或运算符用符号“|”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0下面看一个简单的例子。public class data14{public static void main(String[] args){int a=129;int b=128;System.out... 阅读全文
posted @ 2015-05-16 18:15 243573295 阅读(368) 评论(0) 推荐(0)

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 25 下一页