您的位置:首页 > 其它

策略(Strategy)模式

2013-03-27 20:26 239 查看


面向对象编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类
我们在Martin编写的《代码整洁之道》中对类的看法,类应该短小(长度不应该容纳一个if嵌套语句,20行封顶),而且只做一件事,做好这件事。强调的是简洁和优雅,但是不没说类越多越好。
这里我们可以明白我们应该用什么态度来看待和创建类,对我们的工程很重要。
策略模式的定义:

ViewCodeclassCashContext
{
privateCashSupercs;

publicvoidsetBehavior(stringclassName,object[]args)
{
this.cs=(CashSuper)Assembly.Load("商场管理软件").CreateInstance("商场管理软件."+className,false,BindingFlags.Default,null,args,null,null);
}

publicdoubleGetResult(doublemoney)
{
returncs.acceptCash(money);
}
}


到此为止我们使用简单工厂策略模式+反射实现了一种数据驱动的方式实现了代码0修改。
数据驱动是我们常用的一种设计方案,这是一种伟大的进步,从数据驱动直到今天的脚本游戏引擎比如说unity3d............扯远了....下一篇来吧....................................

如果需要可以下载源码:D
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: