面向对象编程,并不是类越多越好,类的划分是为了封装,但是分类的基础是抽象,具有相同属性和功能的抽象集合才是类。
它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。
实例化一个策略上下文对象,向其传递一个策略(也可以向其传递一个参数,在其内部自动生成一个策略,这便是工厂模式结合策略模式。)。
策略上下问对象,会根据客户端传递的参数,使用初始化上下文对象的策略进行处理用户传递的参数,并返回一个结果。
策略上下文对象中必须要有一个策略,
对于第二点的详尽解释:
实例化策略上下文对象时,可以不向它传递策略,而是传递一条信息,并且需要在它写一个函数,这个函数内部可以根据这条信息实例化一个策略。然后策略上下文对象可以根据这个策略进行计算。这就是工厂模式和策略模式的结合。
所谓的策略实际就是一个算法类对象,或者说一个函数类对象。
本文发布于:2024-02-02 04:52:51,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170682076941478.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |