设计模式
文章平均质量分 80
cai1213
这个作者很懒,什么都没留下…
展开
-
JAVA设计模式——策略模式
策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 应用场景1)多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。(如FlyBehavior和QuackBehavior)2)需要在不同班过情况下使用不同的策略(算法),或者策略还可能在未来用其它方式来实现。(如FlyBehavi转载 2012-09-26 09:36:21 · 941 阅读 · 0 评论 -
JAVA设计模式——装饰者模式
装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。具体被装饰者和抽象装饰类都继承于抽象被装饰者类,继承的是类型,而不是行为。行为来自装饰者和基础组件,或与其他装饰者之间的组合关系。装饰者通常是用其他类似于工厂或生成器这样的模式创建的。 具体例子抽象被继承者类:Beverage.javapackage com.de原创 2012-09-21 11:51:13 · 13545 阅读 · 3 评论 -
JAVA设计模式——外观模式
外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。设计原则:“最少知识”原则(Least Knowledge)——就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方法:1)该对象本身;2)被当做方法的参数而传递进来的对象;3)此方法所创建或实例化的任何对象;4)对象的任何组件。原创 2012-09-20 17:54:52 · 3623 阅读 · 0 评论 -
JAVA设计模式——适配器模式
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。有“两种”适配器:“对象”适配器和“类”适配器。1)对象适配器:使用对象组合,以修改的接口包装被适配者,被适配者的任何子类都可以搭配着适配器使用。2)类适配器:使用继承,不需要重新实现整个被适配者。但是需要多重继承才能实现它,这在JAVA中是不可能的。原创 2012-09-20 17:09:58 · 1215 阅读 · 0 评论 -
JAVA设计模式——模板方法模式
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。这个模式用来创建一个算法的模板。模板就是一个方法。更具体地说,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现。这可以确保算法的结构保持不变,同时由子类提供部分实现。 具体例子抽象类:AbstractC原创 2012-09-20 09:32:51 · 870 阅读 · 0 评论 -
JAVA设计模式——命令模式
命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。我们知道一个命令各对象通过在特定接收者上绑定一组动作来封装一个请求。要达到这一点,命令对象将动作和接收者包进对象中。这个对象只暴露出一个execute()方法,当此方法被调用时,接收者就会进行这些动作。从外面来看,其他对象不知道究竟哪个接收者进行了哪些动作,只知道如果调用execut原创 2012-09-19 15:09:12 · 970 阅读 · 0 评论 -
JAVA设计模式——组合模式+迭代器模式
组合模式允许你将对象组合成树形结构来表现“整体/部分”层析结构。组合能让客户以一致的方式处理个别对象以及对象组合。我们以菜单为例思考这一切:这个模式能够创建一个树形结构,在同一个结构中处理嵌套菜单和菜单项组。通过将菜单和项放在相同的结构中,我们创建了一个“整体/部分”层次结构,即由菜单和菜单项组成的对象树。但是可以将它视为一个整体,像是一个丰富的大菜单。一旦有了丰富的大菜单,我们就可以使用原创 2012-09-18 17:58:45 · 2391 阅读 · 0 评论 -
JAVA设计模式——迭代器模式
迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。迭代器模式把在元素之间游走的责任交给了迭代器,而不是聚合对象。这不仅让聚合的接口和实现变得更简洁,也可以让聚合更专注在它所应该专注的事情上面(也就是管理对象集合),而不必去理会遍历的事情。 下面是具体例子:菜单项的类:MenuItem.javapackage com.designp原创 2012-09-18 11:44:01 · 1149 阅读 · 0 评论 -
JAVA设计模式——工厂模式
一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但转载 2012-09-17 10:42:49 · 821 阅读 · 0 评论 -
JAVA设计模式——单例(Singleton)模式 多种实现方法
转载地址:http://blog.csdn.net/melin520/article/details/904855一、单例(Singleton)模式 单例模式的要点有三个:一是某个类只能有一个实例,二是它必需自行创建这个实例,三是它必须向整个系统自行提供这个实例.二、恶汉式单例类饿汉式单例类是一个典型的单例类,下面是一个它的实现:/* * 饿汉式单例类,不能被继承转载 2012-09-14 16:12:49 · 1078 阅读 · 0 评论 -
JAVA设计模式——观察者模式(JAVA内置的观察者模式)
观察者模式(Observer)就是将观察者和被观察的对象分离开。我这里着试着在mvc架构下(model-view-control)来说说观察者模式,业务数据由数据模型(model)表示,视图(view)可以作为数据模型观察者,控制器(control)是数据模型和视图对象的通信者。业务数据是被观察者,控制器(control)观察业务数据的变化,发现数据变化后,就显示在界面上。观察者模式有很多实现方式转载 2012-09-17 11:45:02 · 739 阅读 · 0 评论