设计模式
iteye_7682
这个作者很懒,什么都没留下…
展开
-
设计模式(一)——设计模式的概念、原则、分类
设计模式的概念: 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 设计模式的六大原则:1、开闭原则(O...原创 2016-07-06 10:36:02 · 78 阅读 · 0 评论 -
设计模式(九)——策略模式(strategy)
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数。 首先统一接口: public interface ICalculator { public int calculate(String e...原创 2016-07-08 09:34:52 · 101 阅读 · 0 评论 -
设计模式(八)——外观模式(Facade)
外观模式是为了解决类与类之间的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口。 我们以一个计算机的启动过程为例:public class CPU { public void startup(){ System.out.println...原创 2016-07-07 11:45:08 · 65 阅读 · 0 评论 -
设计模式(七)——代理模式(Proxy)
代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候会去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。 接口:public interface Sourceable { public void method();} 原始类:public class Source im...原创 2016-07-07 11:00:33 · 89 阅读 · 0 评论 -
设计模式(六)——装饰器模式(Decorator)
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 被装饰类和装饰类的公共接口: public interface Sourceable { public void method();} 被装饰类: public class Source implements Sour...原创 2016-07-07 09:41:20 · 103 阅读 · 0 评论 -
设计模式(五)——适配器模式(Adapter)
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。 适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。1. 类的适配器模式核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targetable,通过Adapter类,将Source的功能扩展到Targetable里:...原创 2016-07-06 12:18:15 · 62 阅读 · 0 评论 -
设计模式(四)——单例模式(Singleton)
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(...原创 2016-07-06 11:38:12 · 76 阅读 · 0 评论 -
设计模式(三)——抽象工厂模式(Abstract Factory)
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较容易理解。 先定义一个接口:publi...原创 2016-07-06 11:25:17 · 83 阅读 · 0 评论 -
设计模式(二)——工厂方法模式(Factory Method)
1. 普通工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先,创建二者的共同接口: public interface Sender { public void Send();} 其次,创建该接口的实现类: public class MailSender implements Sender { @Override public void ...原创 2016-07-06 10:47:06 · 68 阅读 · 0 评论 -
设计模式(十)——观察者模式(Observer)
观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。 一个Observer接口: public interface Observer {...原创 2016-07-08 09:44:48 · 74 阅读 · 0 评论