JAVA
S三杯两盏淡酒
这个作者很懒,什么都没留下…
展开
-
Java设计模式之--桥接模式(bridge pattern)
模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了原创 2016-06-20 16:17:51 · 473 阅读 · 0 评论 -
Java编程开发设计模式之--建造者模式(Builder)
建行模式则是,用来创建复合对象,即某几个类众多具有不同属性的对象的组合。原创 2016-06-12 16:34:44 · 399 阅读 · 0 评论 -
Java编程开发设计模式之--原型模式(Prototype)
原型模式Prototype是指将一个对象作为原型模板,根据它进行复制,克隆,产生一个和原型对象相似的新的对象。本文将通过对对象的浅复制与深复制的概念与具体实现,进行讲述,并通过测试类类代码展示二者区别。在JAVA语言中,复制对你通过实现Cloneable 接口来实现的。原创 2016-06-13 11:23:40 · 536 阅读 · 0 评论 -
Java编程开发设计模式之--适配器模式(Adapter)
这篇博文刚开始讲述设计模式中另一大分类:结构型模式,共7种适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。这其中对象的适配器模式是其他各种结构型模式的起源,他们的衍生关系图,如下图: 适配器模式,有时也称作包装模式,是指将某一个类的接口适配转化成用户所期望的另一接口的情况,其目的是解决由于接口不匹配所造成的类的兼容性问题。适配器模式又可分为三种:类的适配器模式,对象的原创 2016-06-13 14:44:30 · 562 阅读 · 0 评论 -
Java编程开发设计模式之--装饰者模式(Decorator)与代理模式(Proxy)
装饰者模式(Decorator)与代理模式(Proxy) 装饰者模式(Decorator)是给一个已知对象动态增加一些必要的功能方法,并需保证被装饰对象与装饰者实现的是相同接口,设计思想是装饰者持有一个被装饰对象的实例。举一个现实中的应用场景例子,您买了一套毛坯房,现在想要装修,可对装饰房屋的具体工作无法自己一个人做好,那么你可以将这套房子,托付给房屋装修公司,让其帮您,按照其提供的一整套流程(设原创 2016-06-14 13:52:00 · 583 阅读 · 0 评论 -
Java设计模式之--外观模式(facade pattern)
外观模式是为了解决子系统中类与类之间的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度。如果我们没有EncryptFacade类,那么,FileRead、FileWrite、Encryptor他们之间将会相互持有实例,产生关系,这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了EncryptFacade类,他们之间的关系被放在了Computer类里,这样就起到了解耦的作用,这也原创 2016-06-20 14:33:41 · 399 阅读 · 0 评论 -
Java设计模式之--组合模式(Composite Pattern)
组合模式(Composite Pattern)有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念 ,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式让你可以优化处理递 归或分级数据结构。有许多关于分级数据结构的例子,使得组合模式非常有用武之地。原创 2016-06-21 09:13:28 · 361 阅读 · 0 评论 -
Java设计模式之--享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。原创 2016-06-21 10:37:39 · 381 阅读 · 0 评论 -
Java设计模式之--模板方法模式(Template Method)
模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template method),这个设计模式的名字就是从此而来。模板方法模式,技术具体是:一个抽象类中,对外主方法另外有n个方法,这些方法,可以是抽象的,也可以是实际的方法,定义子类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,原创 2016-06-21 16:17:06 · 399 阅读 · 0 评论 -
Java编程开发设计模式之--单例模式(Singleton)
单例对象(Singleton)是一种使用频率较高的设计模式。在JAVA APP中单例能确保JVM中只有一个存在的实例原创 2016-06-12 14:32:48 · 450 阅读 · 0 评论 -
Java编程开发设计模式之--抽象工厂模式(Abstract Factory)
在工厂方法模式中,创建产品类完全依赖于工厂类本身,一旦有扩展需求,就必须对工厂类进行修改,这其实是违背设计原则中的闭包原则的,因此,在设计思路存在瑕疵。解决这一问题,就得用到本文中将详述的抽象工厂模式。即抽取工厂类接口,创建多个工厂类,这样如有新需要增加的功能,可以直接增加新的工厂类,不需要修改现存代码。先看下面类图:详细代码如下:首先建立一个共同接口publi原创 2016-06-12 13:35:18 · 517 阅读 · 0 评论 -
Java编程开发设计模式之工厂模式Fatory Method
Fatory Method 工厂模式根据其具体实现可细化分为下面三种1. 普通工厂模式 创建一个工厂Class,对实现同一Interface的一批Classes进行实例的创建。类图如下:代码示例如下: 首先建立一个共同接口public interface Connector { public boolean conne原创 2016-06-12 10:32:02 · 520 阅读 · 0 评论 -
Java设计模式之--策略模式(strategy)
策略模式(strategy)概念:定义一系列的算法,把每一个算法单独实现并封装, 并且使它们可相互替换。使得算法可独立于使用它的客户而变化。客户可以决定采用哪种策略(算法)原创 2016-06-21 15:43:02 · 283 阅读 · 0 评论 -
Java设计模式之--观察者模式(strategy)
概念:观察者模式是关于多个对象想知道一个对象中数据变化情况的一种成熟模式。观察者模式中有一个称作“主题”的对象和若干个称作“观察者”的对象,“主题”和“观察者”之间是一种一对多的依赖关系。当“主题”的状态发生变化时,所有“观察者”都得到通知。场景:类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的原创 2016-06-22 16:01:01 · 376 阅读 · 0 评论 -
Java设计模式之--迭代器模式(Iterator)
概念:迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。贴段查询数据库的代码:询数据库均会把查询的结果包装在一个Cursor的子类对象中返回。Cursor就像是位于结果聚集之上的一个游标,可以对结果集进行向前、向后或随 机的访问。这就是一种迭代模式原创 2016-06-23 10:56:09 · 427 阅读 · 0 评论 -
Java设计模式之--责任链模式(Chain of Responsibility)
概念:责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任,对系统进行动态的调整。原创 2016-06-23 12:59:26 · 410 阅读 · 0 评论 -
Java设计模式之--命令模式(Command)
概念:命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开,实现二者之间的解耦合。适用环境:系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。系统需要在不同的时间指定请求,将请求排队和执行请求。系统需要支持命令的撤销和恢复操作。系统需要将一组操作组合在一起,即支持宏命令。原创 2016-06-23 15:03:39 · 589 阅读 · 0 评论 -
Java设计模式之--备忘录模式(Memento)
概念:备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,属于行为模式。它是在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样适当的时候就可将该对象恢复到原先保存的状态。思路:原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是用来存储A的一些内部状态,存储类C,就是一个用来存储备忘录的,且只能存储,不能修改等操作。原创 2016-06-23 17:01:35 · 417 阅读 · 0 评论 -
Java设计模式之--状态模式(State)
概念:状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式有两个要点:1、可以通过改变状态来获得不同的行为。2、外面对状态的知晓。原创 2016-06-24 09:39:15 · 365 阅读 · 0 评论 -
Java设计模式之--访问者模式(Visitor)
概念:访问者模式(Visitor)行为设计模式。访问者模式被用在针对一组相同类型对象的操作。优点是,可以把针对此对象的操作逻辑转移到另外一个类上。用于数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。访问者模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者。访问者模式将有关行为集中到一个访问者对象中,其改变不影原创 2016-06-24 12:12:46 · 1594 阅读 · 0 评论 -
java反射详解
java反射详解转载 2016-06-22 11:24:13 · 260 阅读 · 0 评论