本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- zysnba
- xiangjie88
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sichunli_030
- sam123456gz
- arpenker
- tanling8334
- kaizi1992
- gaojingsong
- 龙儿筝
- xpenxpen
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
DesignPattern : Strategy
1. Introduction
Look at the example below:
We want to sort an array of integer.
1) Test case
package edu.xmu.designPattern.DesignPattern_Strategy;
import java.util.ArrayList;
impo ...
策略模式--从源码TabHost中看策略模式
什么是策略模式:
针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。
应当由客户端自己决定在什么情况下使用什么具体策略模式。
策略模式不适合于处理同时嵌套多于一个算法的情形。
针对的设计原则:
封装变化的。
多用组合,少用继承。
针对接口编程,不针对实现编程。
优缺点:
优点:
...
折扣计算策略--设计模式应用
折扣计算,策略模式和装饰模式的具体应用。
package org.tang.zjnumall.strategy.discount;
import java.math.BigDecimal;
public abstract class AbstractDiscountStrategy {
/**
* 单价
*/
protected BigDecimal p ...
策略模式
策略模式可以更换实现算法的部分而且不留痕迹,切换整个算法,简化改为采用其他方法来解决同样的问题,在设计程序时,比较习惯把实现算法这部分结合到方法里面,但是策略模式则故意把算法的部分跟其他部分分开,只规定跟算法有关的接口部分,然后再从程序这边以委托的方式来利用运算法则,因为有了委托关系,所以才能切换算法,尤其是机动性的切换动作
package com.tools.pattern.strategy;
p ...
effective java 第21条:用函数对象表示策略
public class Host {
private static class StrLenCmp implements Comparator<String>,Serializable {
private static final long serialVersionUID = -2947076330971319599L;
...
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 ...