zoukankan      html  css  js  c++  java
  • 设计模式入门学习笔记----策略模式

    『策略模式』定义了算法族,分别封装起来,让它们之间可以互相替换,

    此模式让算法的变化独立于使用算法的客户。

    1、将会需要动态改变的代码与基本长期固定不需改变的代码区分开来

    2、少用继承,多用组合

    3、对需要动态改变的事件、行为进行的封装类称为算法族,它们之间可以用于动态的代替

    例如:

    各种duck现在要新加fly方法

    以前:直接在DUCK父类(原来有个quack方法)加入fly方法,让子类继承实现

    现在:

    父类DUCK,子类duck1,duck2,duck3………

    将子类的飞行fly方法与叫声quack方法定义为接口,具体的类分别实现fly和quack,

    DUCK父类中定义实例变量fly和quack(接口类型),

    duck1中,fly =new 一个具体实现fly的类,quack =new 一个具体实现quack的类

    对fly和quack进行具体的实现的类便是2个算法族。

    通过这个例子进行理解,这只是笔记,用于自己看完一个设计模式后的回忆与记录,比较肤浅,还可能会有错误,如果可以,谢谢指正~

  • 相关阅读:
    查找最大回文
    java-线程池
    Java基础 IO流——第一部分
    tomcat优化
    反射
    网络编程——第二部分
    网络编程——第一部分
    Java基础 IO流——第四部分
    Java基础 IO流——第三部分
    Java基础 IO流——第二部分
  • 原文地址:https://www.cnblogs.com/pp153/p/7505828.html
Copyright © 2011-2022 走看看