当前位置: 首页 > news >正文

武威网站建设优化花钱也可以哪些网站可以做推广广告

武威网站建设优化,花钱也可以哪些网站可以做推广广告,做图素材网站开哪个vip好,玉田网站制作题目:假设你正在开发一个手机应用程序,该应用程序包含一个计算器功能。用户可以根据自己的需求选择不同的计算策略进行计算,例如加法、减法、乘法或除法。请使用策略模式设计该计算器功能,使得用户可以根据自己的选择进行相应的计…
题目:假设你正在开发一个手机应用程序,该应用程序包含一个计算器功能。用户可以根据自己的需求选择不同的计算策略进行计算,例如加法、减法、乘法或除法。请使用策略模式设计该计算器功能,使得用户可以根据自己的选择进行相应的计算操作。请描述如何使用策略模式来设计并实现该计算器功能,并简要说明策略模式的优点和适用场景。
策略模式是一种行为型设计模式,它允许在运行时根据不同的情况选择不同的算法或行为。策略模式的主要作用是将算法的定义与使用相分离,提供了一种灵活的方式来管理和应用不同的算法。策略模式的好处包括:可扩展性:通过定义抽象的策略接口,可以随时添加新的具体策略类,而不需要修改现有代码。这使得系统更加灵活,容易扩展。代码复用:使用策略模式可以将具体的算法封装到独立的策略类中,这样可以避免重复的代码逻辑,并提高代码的重用性。可维护性:由于每个策略类都是独立的,所以对于每个具体的策略类进行单独的测试和维护是比较容易的。这样可以简化代码的维护过程。解耦合:策略模式将算法的定义与使用相分离,使得客户端与具体策略类解耦,客户端只需要知道如何使用策略接口即可。这样可以减少类之间的依赖关系,提高代码的灵活性和可维护性。动态切换算法:策略模式允许在运行时根据需要动态地切换算法,而不需要修改原有代码。这使得系统能够根据不同的情况或需求灵活地使用不同的算法,提高了系统的适应性和扩展性。总的来说,策略模式提供了一种灵活、可扩展和可维护的方式来处理不同的算法或行为,并将其封装到独立的策略类中,使得系统更加灵活和易于维护。

参考代码:

class Program 
{static void Main(string[] args) {Calculator calculator = new Calculator();calculator.SetStrategy(new AdditionStrategy());Console.WriteLine("10 + 5 = " + calculator.ExecuteStrategy(10, 5));calculator.SetStrategy(new SubtractionStrategy());Console.WriteLine("10 - 5 = " + calculator.ExecuteStrategy(10, 5));calculator.SetStrategy(new MultiplicationStrategy());Console.WriteLine("10 * 5 = " + calculator.ExecuteStrategy(10, 5));calculator.SetStrategy(new DivisionStrategy());Console.WriteLine("10 / 5 = " + calculator.ExecuteStrategy(10, 5));Console.ReadLine();}
}public interface ICalculatorStrategy 
{double Calculate(double num1, double num2);
}public class AdditionStrategy : ICalculatorStrategy
{public double Calculate(double num1, double num2){return num1 + num2;}
}public class SubtractionStrategy : ICalculatorStrategy
{public double Calculate(double num1, double num2){return num1 - num2;}
}public class MultiplicationStrategy : ICalculatorStrategy
{public double Calculate(double num1, double num2){return num1 * num2;}
}public class DivisionStrategy : ICalculatorStrategy
{public double Calculate(double num1, double num2){if (num2 != 0){return num1 / num2;}else{throw new ArgumentException("除数不能为零!");}}
}public class Calculator
{private ICalculatorStrategy? _calculatorStrategy;public void SetStrategy(ICalculatorStrategy calculatorStrategy){_calculatorStrategy=calculatorStrategy;}public double ExecuteStrategy(double num1, double num2) {if (_calculatorStrategy == null){throw new InvalidOperationException("没有设置计算策略!");}return _calculatorStrategy.Calculate(num1, num2);}
}
http://www.yayakq.cn/news/150736/

相关文章:

  • iis 如何搭建网站加快信用网站建设
  • 云图书馆平台网站建设方案网站做成app
  • 类似织梦的建站cms分销平台app
  • 高清图片素材网站免费下载黎平网站开发
  • 优秀高端网站建设报价网站推广建站
  • 制作网站 美工游戏网官网
  • 网站建设过程的结构图网站字体颜色大小
  • 东营市建设局网站网页软件有哪些
  • 深圳制作网站培训学校移动端4060相当于桌面端什么显卡
  • 购物网站排名第一wordpress怎么解绑域名
  • ps网站建设教程怎么查看网页的html代码
  • 建设领域工人管理网站网站建设服务器对比
  • 做业精灵官方网站公司网站建设注意
  • 织梦网站更改网站的导航贴吧推广
  • 做php网站宁波网站建设rswl
  • 莱芜正规的网站建设如何做更改网站的图片
  • 昆明智能建站asp网站的配置
  • 家居企业网站建设机构山西网站设计
  • 廊坊企业网站建设创建论坛网站
  • 企业做网站公司排名口碑市场营销与网络营销
  • wordpress网站的CDN设置网站怎么制作 推广
  • 网站开发与设计论文重庆装修价格明细表
  • 流行的网站建设技术有哪些wordpress淘宝组件插件
  • 网站空间申请开通公司网站推广方法
  • 个人网站可以做音乐吗做网站网上商城多少钱
  • 商业网站建设知识点外贸网站要怎么做
  • 东川网站制作怎么样做网站爬虫
  • 网站建设制作鸿运通实业公司网站建设
  • 北京建设信息港网站做图海报网站
  • 樟木头镇网站仿做无锡网站制作哪家服务好