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

自己做的视频发什么网站吗三生团队网站找谁做的

自己做的视频发什么网站吗,三生团队网站找谁做的,自架服务器建设网站,河间网站建设公司目录 策略模式的概念生活中的例子编程中的例子 软件工程中的实际应用数据排序文件压缩支付方式图形绘制 策略模式的概念 策略模式#xff08;Strategy Pattern#xff09;是一种行为型设计模式#xff0c;它定义了一系列算法#xff0c;把它们一个个封装起来#xff0c;并… 目录 策略模式的概念生活中的例子编程中的例子 软件工程中的实际应用数据排序文件压缩支付方式图形绘制 策略模式的概念 策略模式Strategy Pattern是一种行为型设计模式它定义了一系列算法把它们一个个封装起来并且使它们可以相互替换。这种模式使得算法可以独立于使用它的客户端而变化。 策略模式的关键点 策略接口Strategy定义所有策略算法共有的方法。具体策略类ConcreteStrategy实现策略接口的具体算法。上下文类Context持有一个策略对象并在需要时调用这个策略的方法。 策略模式的优点 易于扩展增加新算法时只需添加新的具体策略类不需要修改现有的代码。避免使用多重条件语句通过使用策略模式可以避免大量的 if-else 或 switch 语句使代码更加简洁和清晰。提高代码的灵活性和可维护性可以动态地改变算法而不需要修改客户端代码。 策略模式的缺点 增加类的数量每个具体策略都是一个单独的类会导致类的数量增多增加代码的复杂性。所有策略类都需要暴露策略类需要对外公开以便可以被选择和使用。 生活中的例子 策略模式是一种设计模式它允许你定义一系列算法或者叫方法然后在运行时选择其中一个来使用。就像你有一个装满不同类型武器的工具箱每次打怪兽的时候你可以选择最合适的武器来使用。 编程中的例子 策略接口 // 定义策略接口 public interface AttackStrategy {void attack(); }这个接口定义了一个 attack 方法所有的具体策略类都需要实现这个方法。 具体策略类 // 使用剑攻击 public class SwordAttack implements AttackStrategy {Overridepublic void attack() {System.out.println(使用剑攻击怪兽);} }// 使用弓箭攻击 public class BowAndArrowAttack implements AttackStrategy {Overridepublic void attack() {System.out.println(使用弓箭攻击怪兽);} }// 使用魔法攻击 public class MagicAttack implements AttackStrategy {Overridepublic void attack() {System.out.println(使用魔法攻击怪兽);} }这些类实现了 AttackStrategy 接口并提供了具体的攻击方法。 上下文类 // 上下文类 public class MonsterHunter {private AttackStrategy strategy;// 设置策略public void setStrategy(AttackStrategy strategy) {this.strategy strategy;}// 执行攻击public void attackMonster() {strategy.attack();} }上下文类 MonsterHunter 持有一个 AttackStrategy 对象并在 attackMonster 方法中调用策略对象的 attack 方法。 使用策略模式 public class Main {public static void main(String[] args) {MonsterHunter hunter new MonsterHunter();// 使用剑攻击hunter.setStrategy(new SwordAttack());hunter.attackMonster();// 使用弓箭攻击hunter.setStrategy(new BowAndArrowAttack());hunter.attackMonster();// 使用魔法攻击hunter.setStrategy(new MagicAttack());hunter.attackMonster();} }在这个例子中我们创建了一个 MonsterHunter 对象并通过 setStrategy 方法动态设置不同的攻击策略。每次设置策略后我们调用 attackMonster 方法来执行相应的攻击。 软件工程中的实际应用 数据排序 在应用程序中你可能需要对数据进行排序但不同情况下的排序规则可能不同。例如有时候需要按名字排序有时候需要按年龄排序。这时可以使用策略模式定义不同的排序算法并根据需要选择合适的算法。 // 定义排序策略接口 public interface SortStrategy {void sort(int[] numbers); }// 具体策略类冒泡排序 public class BubbleSort implements SortStrategy {Overridepublic void sort(int[] numbers) {// 实现冒泡排序算法} }// 具体策略类快速排序 public class QuickSort implements SortStrategy {Overridepublic void sort(int[] numbers) {// 实现快速排序算法} }// 上下文类 public class Sorter {private SortStrategy strategy;public void setStrategy(SortStrategy strategy) {this.strategy strategy;}public void sort(int[] numbers) {strategy.sort(numbers);} }// 使用策略模式进行排序 public class Main {public static void main(String[] args) {int[] numbers {5, 2, 9, 1, 5, 6};Sorter sorter new Sorter();sorter.setStrategy(new BubbleSort());sorter.sort(numbers);sorter.setStrategy(new QuickSort());sorter.sort(numbers);} }文件压缩 在文件压缩工具中可能支持多种压缩算法比如 ZIP、RAR、TAR 等。可以使用策略模式来选择不同的压缩算法 // 定义压缩策略接口 public interface CompressionStrategy {void compress(String filePath); }// 具体策略类ZIP压缩 public class ZipCompression implements CompressionStrategy {Overridepublic void compress(String filePath) {// 实现ZIP压缩算法} }// 具体策略类RAR压缩 public class RarCompression implements CompressionStrategy {Overridepublic void compress(String filePath) {// 实现RAR压缩算法} }// 上下文类 public class Compressor {private CompressionStrategy strategy;public void setStrategy(CompressionStrategy strategy) {this.strategy strategy;}public void compress(String filePath) {strategy.compress(filePath);} }// 使用策略模式进行文件压缩 public class Main {public static void main(String[] args) {Compressor compressor new Compressor();compressor.setStrategy(new ZipCompression());compressor.compress(example.txt);compressor.setStrategy(new RarCompression());compressor.compress(example.txt);} }支付方式 在电商网站中用户可能使用不同的支付方式例如信用卡支付、PayPal 支付、银行转账等。可以使用策略模式来实现不同的支付方式。 // 定义支付策略接口 public interface PaymentStrategy {void pay(double amount); }// 具体策略类信用卡支付 public class CreditCardPayment implements PaymentStrategy {Overridepublic void pay(double amount) {// 实现信用卡支付} }// 具体策略类PayPal支付 public class PayPalPayment implements PaymentStrategy {Overridepublic void pay(double amount) {// 实现PayPal支付} }// 上下文类 public class PaymentProcessor {private PaymentStrategy strategy;public void setStrategy(PaymentStrategy strategy) {this.strategy strategy;}public void processPayment(double amount) {strategy.pay(amount);} }// 使用策略模式进行支付 public class Main {public static void main(String[] args) {PaymentProcessor processor new PaymentProcessor();processor.setStrategy(new CreditCardPayment());processor.processPayment(100.0);processor.setStrategy(new PayPalPayment());processor.processPayment(100.0);} }图形绘制 在图形应用程序中可能需要使用不同的绘制算法比如绘制线条、绘制矩形、绘制圆形等。可以使用策略模式来封装不同的绘制算法。 // 定义绘制策略接口 public interface DrawStrategy {void draw(); }// 具体策略类绘制线条 public class DrawLine implements DrawStrategy {Overridepublic void draw() {// 实现绘制线条的算法} }// 具体策略类绘制矩形 public class DrawRectangle implements DrawStrategy {Overridepublic void draw() {// 实现绘制矩形的算法} }// 具体策略类绘制圆形 public class DrawCircle implements DrawStrategy {Overridepublic void draw() {// 实现绘制圆形的算法} }// 上下文类 public class GraphicEditor {private DrawStrategy strategy;public void setStrategy(DrawStrategy strategy) {this.strategy strategy;}public void draw() {strategy.draw();} }// 使用策略模式进行绘图 public class Main {public static void main(String[] args) {GraphicEditor editor new GraphicEditor();editor.setStrategy(new DrawLine());editor.draw();editor.setStrategy(new DrawRectangle());editor.draw();editor.setStrategy(new DrawCircle());editor.draw();} }
http://www.hkea.cn/news/14563941/

相关文章:

  • 饰品网站模板扬州住房与城乡建设局网站
  • 河南睢县筑宇建设网站济南抖音seo
  • 工业园区网站模版ps免费素材网站有哪些
  • wordpress 标题 回车制作网站公司选 择乐云seo专家
  • 网站建设 岗位做男装比较好的网站有哪些
  • 诚聘网站开发网站建设的主要步骤有哪些
  • 济宁商城网站建设python可以做网站前台么
  • 邯郸网站建设选哪家好iis 网站 端口
  • 网站建设哪里学app推广团队
  • 建设银行银行号查询网站海外免费网站推广有哪些
  • 属于c2c的网站有哪些做公司网站报价
  • 杭州网络科技网站腾讯云网站建设视频教程
  • 怎么套模板做网站h5网站要多久
  • 求个国外在线网站白河网站制作
  • 国家企业信息公示信息官网网站原创内容优化
  • cnetos 做网站服务网络推广的优化方法
  • 台州网站推广山西大同专业网站建设制作价格
  • flash cms网站源码网站攻击一般有那些
  • 个人网页制作与网站建设网站建设有模板自己能制作
  • 建设一个跟京东一样的网站网页制作培训学费
  • 宁波网站设计相信荣胜网络建e网卧室设计效果图
  • 海门建设厅网站网站建设包含项目
  • 做页面设计的网站网站开发工程师中级高级
  • 网站销售策划网站的版式
  • 外贸网址建站朋友圈广告怎么投放
  • 网站的关键词在哪里设置深圳网站商城建设
  • 搜狗网站优化软件论坛网站制作
  • 网站建设如何算成本快照网站
  • 全运会网站建设方案欧莱雅的网络营销策划方案
  • 开发企业小程序公司永康好口碑关键词优化