为了账号安全,请及时绑定邮箱和手机立即绑定
  • 策略模式的设计原则
    查看全部
    0 采集 收起 来源:知识点总结

    2016-07-04

  • 各种鸭子的测试方法
    查看全部
  • 策略接口的实现
    查看全部
  • 用接口实现组合
    查看全部
  • 什么是组合
    查看全部
  • 什么是策略模式
    查看全部
    0 采集 收起 来源:策略模式简介

    2016-07-04

  • 策略模式总结: ——————————————————————————————- 策略模式设计原则: 1. 找出应用中需要变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起; 将不变的东西抽象为接口,而变化的部分交给实现去做,具体而言,鸭子飞行的行为是千变万化的,但是鸭子具有飞行行为本身是不变的,我们将不变的部分抽象为飞行策略接口,而将具体的飞行行为交给实现去处理。 2.面向接口编程,而不是面向实现编程; 3.多用组合,少用继承 ——————————————————————————————— 策略模式的实现: 1.通过分离变化得出策略接口Strategy 2.编写Strategy的实现类 3.客户端程序“有一个”Strategy 4.在客户程序中选择/组装正确的Strategy实现 ———————————————————————————————— 策略模式的优点: 1.使用了组合,使架构更加灵活 2.富有弹性,可以较好的应对变化(开闭原则) 3.更好的代码复用性(相对于继承) 4.消除了大量的条件语句 ——————————————————————————————————— 策略模式的缺点: 1.客户代码需要了解每个策略实现的细节,不然就会使得实现有可能有不正确的行为。 2.随着时间的推移,策略接口会急剧膨胀,增加了对象的数目 ——————————————————————————————————- 策略模式的适用场景: 1.许多相关的类仅仅是行为差异,将差异的共享分离出来成为一个策略接口,而这些相关的类便成为其算法家族的成员 2.运行时选取不同的算法变体 3.通过条件语句在多个分支中选取一个,使用策略模式使得代码更加简洁 ————————————————————————————————————
    查看全部
    1 采集 收起 来源:知识点总结

    2016-06-25

  • 将变化的部分抽象为接口,在父类中持有接口的引用,大黄鸭不会叫,将“叫”的方法抽象为一个接口。
    查看全部
  • 定义一个飞行策略的接口,在父类中持有该接口,并生成set方法,以方便属性注入,然后在写一个fly()方法,内部去执行持有的接口方法,这里是flyingStagety.performFly()。
    查看全部
  • 将变化的部分抽象出来,设计为一个接口,在某一个实现类中持有该接口的引用,那么这个实现类就拥有了这个接口所具有的所有的方法。
    查看全部
  • 策略模式精髓: 1.Favor composition over inheritance复合(组合)优先于继承 2.组合定义:在类中增加一个私有域,引用另一个已有的类的实例,通过调用引用实例的方法从而获得新的功能,这种设计被称作组合(复合)(意思就是:得到其他类的对象,使用这个对象的方法。)
    查看全部
  • 策略模式就是将程序中可变的部分进行抽象分离成一个接口,在该接口下分别封装一系列具体的实现并可以让这些实现相互替换,从而导致程序不依赖接口中的具体实现。
    查看全部
    0 采集 收起 来源:策略模式简介

    2016-06-24

  • 听了之后感觉,策略模式就是抽取业务流程中的总是变化的环节,写成接口,然后父类调用。子类如果要实现自己的环节,就去实现接口,在父类中调用。感觉像做插件一样。多数据库类型连接,是不是可以用这种模式。
    查看全部
  • 正确选择strategy实现
    查看全部
    0 采集 收起 来源:知识点总结

    2016-06-20

  • 策略模式的设计原则
    查看全部
    0 采集 收起 来源:知识点总结

    2016-06-20

举报

0/150
提交
取消
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、什么是策略模式,生活中常见的策略模式场景 2、策略模式的实现 3、策略模式所体现的设计思想及适用场景 4、实际案例

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!