.NET乐园
一个梦想,一个行动…… (欢迎光临我的淘宝http://shop35795100.taobao.com,专营休闲服饰和运动鞋)
posts - 47,comments - 120,trackbacks - 35
动机:定义一系列算法,把它们一个个封装起来,并且使它们可互相替换。该模式使得算法可独立于使用它的客户而变化。

场景:设计一个自动投票程序,根据常用投票对象的计票策略不同,定义一系列不同自动投票策略,可根据投票对象策略选用适当的自动投票策略。


结构
Strategy模式结构图

代码

namespace DesignPattern.Strategy
{
    
public interface IVoteStrategy
    
{
        
void Vote();

        
// 统计投票情况
        void Stat();
    }


    
public class VoteStrategyA : IVoteStrategy
    
{
        
public void Vote()
        
{
        }

        
public void Stat()
        
{
        }

    }


    
public class VoteStrategyB : IVoteStrategy
    
{
        
public void Vote()
        
{
        }

        
public void Stat()
        
{
        }

    }


    
public class VoteStrategyC : IVoteStrategy
    
{
        
public void Vote()
        
{
        }

        
public void Stat()
        
{
        }

    }

}

namespace DesignPattern.Strategy
{
    
public class AutoVote
    
{
        
private IVoteStrategy strategy;

        
public AutoVote(IVoteStrategy strategy)
        
{
            
this.strategy = strategy;
        }


        
public IVoteStrategy Strategy
        
{
            
set
            
{
                
this.strategy = value;
            }

        }


        
public void Vote()
        
{
            
//
            strategy.Vote();
        }


        
public void Stat()
        
{
            
//
            strategy.Stat();
        }

    }

}


要点
        1、Strategy及其子类为组件提供了一系列可重用的算法,从而使得类型在运行时方便地根据需要在各个算法之间进行切换,所谓封装算法,支持算法的变化。
        2、本模式提供了用条件判断语句以外的另一种选择,消除条件判断语句,就是在解耦。含有许多条件判断语句的代码通常都需要本模式。
        3、与State模式类似,如果Strategy对象没有实例变量,那么各个上下文可以共享同一个Strategy对象,从而节省对象开销。
欢迎访问我的淘宝http://shop35795100.taobao.com,专营衣服和鞋子。
posted on 2007-08-24 00:25 Charly 阅读(236) 评论(1)  编辑 收藏 网摘 所属分类: 架构设计

FeedBack:
2008-04-12 13:36 | 蓝奇高级验证码识别引擎QQ:631753663 [未注册用户]
出售***,可准确地自动识别新浪动网淘宝CSDN等多种复杂验证码。为您制作投票软件、自动充值及其它自动提交程序铺平道路。

输出为一个标准DLL,可供VB,VC,Delphi,C#.NET,VB.NET,模拟精灵,按键精灵等多平台调用,调用方法简单,几行代码即可完成。独具特色的边缘检测字符分离、旋转倾斜纠正和通用字符匹配算法(无论字体和大小), 使得该引擎对于像新浪、动网、淘宝、CSDN等多种验证码均有不错的识别率,是一款效果较为理想的验证码识别引擎。附详细的调用实例和代码注释等相关技术文档。

同时提供专业发贴机、自动投票机、自动查询器、自动充值机等各类网络软件的定制,以及各种复杂验证码的识别服务,价格依软件具体难度而定。

QQ:631753663
手机:13517270758
MSN: rapboyhaha@hotmail.com

  回复  引用    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-08-24 00:37 编辑过
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接: