最新文章列表

effective java 第21条:用函数对象表示策略

public class Host { private static class StrLenCmp implements Comparator<String>,Serializable { private static final long serialVersionUID = -2947076330971319599L; ...
wenjinglian 评论(0) 有2311人浏览 2012-03-28 14:29

策略模式

  策略模式的组成   —抽象策略角色: 策略类,通常由一个接口或者抽象类实现。   —具体策略角色:包装了相关的算法和行为。 —环境角色:持有一个策略类的引用,最终给客户端调用。 <!--[if !supportLists]-->1.    <!--[endif]-->抽象策略角色:  /**
lcy0202 评论(0) 有903人浏览 2012-03-22 20:34

Spring 资源访问剖析和策略模式应用

Spring 框架是一个非常优秀的轻量级 Java 框架,它的资源访问方式高度简化了应用程序的资源访问,将应用程序从底层不同的资源访问中解放出来,消除了不同资源访问方式的差异。Spring 框架的资源访问就是经典设计模式:策略模式的典范应用,本文将从策略模式的角度来深入分析 Spring 资源访问的源码实现。 Spring 资源访问剖析和策略模式应用 Spring 把所有能记录信息的载体,如各种 ...
jinpengaigo 评论(0) 有780人浏览 2012-03-19 14:07

策略模式(strategy)

定义:策略模式封装了一系列的算法,所有算法完成相同的工作,但实现不同,可以以相同的方法调用所有的算法,减少各种算法类与使用算法类之间的耦合。 结构图如下 Context类维护一个Strategy类的引用,由ContextInterface接口操作Strategy子类,这样客户端就只要知道Context类就可以了。 一个简单的例子,目的只在说明Strategy模式的类关系。 Strategy抽象 ...
jack_boy 评论(0) 有1031人浏览 2012-02-23 09:25

漫谈设计模式---策略模式

设计模式,我一直把设计模式想象成兵法,精妙的兵法可以结构化的、优雅的组织代码。以一种聪明的方式去实现功能,并且具有极强的可维护性。 说设计模式应该先从软件设计的思想说起,比如开闭原则,开:对扩展开放;闭:对修改关闭。这就需要什么呢?把不变的部分抽象出来并进行封装。软件设计还有一个原则叫做面向接口编程。接口是什么,这是我第一个想谈的东西,算是我想到所有东西的起点。接口,用书里的话来说就是一个标准 ...
小懒蛋 评论(1) 有836人浏览 2012-01-09 22:41

略淡策略模式

      策略模式应用场所是什么?  就是在软件设计时,发现有不同的算法(或操作过)在不同对象间经常变来变去,这是可以考虑使用策略模式。注意是考虑用策略模式。 如果发现这些算法,不管怎么变化,总可以用统一的较为简单的方法去调用这些算法,那么可以用策略模了。实现方法是:作一个抽象类标识为A,该类有一个统一调用其他算法的方法 标识为method(...)。 其他不同算法的 单独写一个类,并继承A,然 ...
yunhaifeiwu 评论(0) 有1166人浏览 2012-01-04 08:56

6-Strategy: choosing the algorithm at run-time

Strategy : choosing the algorithm at run-time Strategy also adds a “Context” which can be a surrogate class that controls the selection and use of the particular strategy object—just like Stat ...
ccfangle 评论(0) 有1036人浏览 2011-12-29 10:40

策略模式

所谓策略模式就是定义了多种算法,而让不同算法之间的切换不会影响到客户端。 策略模式主要涉及3个组成部分 (1)       环境对象:该类中实现了对抽象策略中定义的接口或者抽象类的引用。 (2)       抽象策略对象:它可由接口或抽象类来实现。 (3)       具体策略对象:它封装了实现同不功能的不同算法。 因此很好理解就是定义一个抽象的接口,该接口包含了一个之类公共的方法,然后定义不同的算 ...
JamesZhao1987 评论(0) 有890人浏览 2011-12-22 17:07

策略模式与Comparator的定义和使用

Comparator可以让我们对复杂的类型进行自定义排序,如按对象的某个属性降序排序,功能很强大,使用起来也方便 只需要简单的实现Comparator接口 定义: class ComparatorHDFileUserInfo implements Comparator<ScholatHDFileUseInfo>{       public int compare(Scholat ...
lh870003574 评论(0) 有1955人浏览 2011-12-16 18:34

策略模式和工厂模式的区别

工厂模式是创建型模式 策略模式是行为性模式 一个关注对象创建 一个关注行为的封装 策略模式就是定义一系列的算法,这些算法可以在需要的时候替 ...
xiewenbo 评论(0) 有5240人浏览 2011-12-06 16:45

《大话设计模式》读书笔记一

     今天开始看大话设计模式,觉得通俗易懂,作为设计模式的入门书再好不过。很惭愧现在才说设计模式入门,作为不是软件专业出身缺入了软件 ...
胡笨笨 评论(0) 有1312人浏览 2011-12-02 22:04

设计模式之策略模式(Strategy)

策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。   策略模式类图: 策略模式与设计原则: 封装变化 把会变化的部分取出来并封装起来,以便以后可以轻易的改动或者扩展此部分,而不影响不需要变化的其他部分。(找出应用中可能需要变化的部分,把他们独立出来,不要和那么不需要变化的代码混在一起)。   针对接口编程,而不是针对 ...
kt8668 评论(0) 有732人浏览 2011-11-27 15:10

Clojure与java设计模式(3) 策略模式

  注:本文基于jdk1.6和Clojure1.2 策略模式     策略模式是指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”, 但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。(维基百科)       在面向对象语言中,这可能是最常见的模式,可能很多人在听说过这个算法之前就已经使用过它了。       首先,我们定 ...
songry 评论(0) 有1850人浏览 2011-11-16 15:45

设计模式之策略模式

   策略模式(strategy)属于对象的行为模式,将一组算法封装在一个具有共同接口的独立类中,这组算法    可以在不影响客户端的情况下互换。类图如下:   Context:   package com.cmj.pattern.strategy; public class Context { private Strategy strategy; ...
chendajun 评论(0) 有671人浏览 2011-10-25 10:20

设计模式学习之策略模式

1.名词解释: 策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。在不同的时间或条件应用不同的业务规则时,可以考虑使用策略模式;   2.代码示例: 策略抽象类 package DesignPattern.StrategyPattern; public abstract class Strategy { publi ...
darezhong 评论(0) 有815人浏览 2011-10-24 23:59

策略模式

策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端。 策略模式的结构 策略模式涉及到三个角色 环境角色:持有一个Stratcgy类(策略类 ...
dengwanchuan 评论(0) 有1068人浏览 2011-10-24 22:54

使用策略模式让集合自定义排序

  package com.zj.exercise2; import java.util.List; /** * 功能:抽象策略角色 * @author zhengjiong * time:2011-9-16 00:02:12 */ public interface Strategy { public void sort(List<Person> l ...
zhengjiong 评论(0) 有1251人浏览 2011-09-16 01:08

策略模式之商场促销

每到5.1 10.1等节日,都会看到商场里人山人海。商场之所以如此吸引人,是因为疯狂的折扣。 下面以商场打折为例,谈谈策略模式。 商品的折扣算法: 算法一:对于有的商品,没有折扣。 算法二:对于有的商品,采取固定金额的折扣。 算法三:对于有的商品,采取百分比的折扣。 解决方案: 方案一:将所有的业务逻辑放在客户端。客户端根据参数选择具体的算法,但是这样客户端会变得复杂而 ...
ol_beta 评论(0) 有1068人浏览 2010-05-13 11:38

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics