博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式-策略模式
阅读量:6900 次
发布时间:2019-06-27

本文共 1429 字,大约阅读时间需要 4 分钟。

public abstract class baseClass{        public abstract double getResult(double num1,double num2);}public class A:baseClass{        public overrid double getResult(double num1,double num2)        {                return num1+num2;        }}public class B:baseClass{        public overrid double getResult(double num1,double num2)        {                return num1-num2;        }}public class Context{       baseClass bc{get;set;}       public Context(baseClass _bc)             {                         bc=_bc;             }             public double getResult(double num1,double num2)             {                         return bc.getResult(num1,num2);             }}前端:A a=new A();Context c=new Context(a);c.getResult(300,200);

设计模式-策略模式

总结:策略模式需要前端传入具体的业务对象给Context配置类,然后通过配置类的getResult获取所需;

优点:各个业务对象可以互不影响相互替换,
缺点:前端需要依赖的对象太多了。

策略模式和工厂模式类似,业务对象都是一模一样,只不过工厂是生产对象, 策略配置类是传入对象。

工厂和策略结合后比较好:

public class Context{       baseClass bc{get;set;}       public Context(string type)             {                         swicth(type)                         {                            case “1”:bc=new A();                                case “2”:bc=new B();                         }             }             public double getResult(double num1,double num2)             {                         return bc.getResult(num1,num2);             }}前端:Context c=new Context(1“”);c.getResult(300,200);

转载于:https://blog.51cto.com/5591787/2108046

你可能感兴趣的文章
全新打包工具parcel零配置vue开发脚手架
查看>>
Flutter之布局类Widget
查看>>
three.js性能优化
查看>>
Choerodon如何进行日志收集与告警
查看>>
Vue篇之vue 使用Jade模板写html,stylus写css
查看>>
css_17 | CSS——CSS 拓展:② CSS 编码规范
查看>>
spring web 项目启动过程分析
查看>>
Android LaunchMode使用场景
查看>>
Android Gradle Plugin 2.3.3 升级 3.0.0 遇到的问题
查看>>
Spring AOP中的JDK和CGLib动态代理哪个效率更高?
查看>>
Android插件化开篇
查看>>
如何迭代比特币私钥(来捡币)
查看>>
视差滚动插件之Stellar
查看>>
《HelloGitHub》第 36 期
查看>>
裂变活动成功的前提:回报大于付出
查看>>
深入解析ES6中let和闭包
查看>>
前端图像处理指南
查看>>
【大数据学习日记】Spark之shuffle调优
查看>>
React-Router V4 简单实现
查看>>
如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes
查看>>