策略模式

策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,
此模式让算法的变化独立于使用算法的客户。

实例解析:
一款模拟鸭子的游戏,游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫。设计如下所示:


类图设计
//主函数代码
public class main {
    public static void main(String[] args) {
        Duck mallard = new MallardDuck();
        mallard.performQuack();
        mallard.performFly();
    }
}

具体代码

设计原则

  • 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。(飞和叫的行为)
  • 针对接口编程,而不是针对实现编程。(飞和叫的行为的接口)
  • 多用组合,少用继承。(飞和叫两个分离开来)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义 定义算法族,分别封装起来,让他们之间可以互相替换,让算法的变换独立于使用算法的用户。 应用 加入某公司已经非...
    东北妞儿阅读 312评论 1 1
  • 模拟鸭子游戏的需求 SimUDuck游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫。通过标准的OO技术,设计一个超...
    一缕阳忆往昔阅读 491评论 2 0
  • 模拟鸭子游戏的应用程序,要求:游戏中会出现各种颜色外形的鸭子,一边游泳戏水,一边呱呱叫。 方法一:运用继承的特性,...
    浅尘Lian阅读 267评论 0 0
  • 设计模式 开题先说明一下,设计模式告诉我们如何组织类和对象以解决某种问题。让代码变得更加优雅是我们责无旁贷的任务 ...
    tanghuailong阅读 462评论 0 2
  • 其实生日已经过去一段时间了,老大不小咯,哈哈哈,一直想写点什么,一忙二懒三拖拉,不觉耽搁下来,好在“十一”长...
    易小丁阅读 353评论 0 1