• 看 设计模式之策略模式探讨初步 有感,并摘取部份内容,学习之


    原文 http://www.cnblogs.com/changhai-xuri/archive/2006/11/24/571089.html

    使用模式最好的方式是:「把模式装进脑子中,然后在你的设计和已有的应用中,寻找何处
    可以使用这些模式。」以往是代码复用,那么现在则是经验复用。

    第一个设计原则:
       找出应用中可能需要变化之处,把它们独立出来, 不要和那些不需要变化的代码混在一起。
    也就是说: 如果每次新的需求一来, 都会变化到某方面的代码, 那么你就可以确定, 这部分的代码需要被抽出来, 和其他闻风不动的代码有所区隔。
    把会变化的部分取出并封装起来,以便以后可以轻易地扩充此部分,而不影响不需要变化的其他部分。这样的概念很简单,几乎是每个设计模式背后的精神所在。
    所有的模式都提供了一套方法让「系统中的某部分改变不会影响其他部分」。
    这样的结果如何?代码变化之后,出其不意的部分变得很少,系统变得更有弹性。

    第二个设计原则:
    针对接口编程」真正的意思是「针对超类型(supertype)编程」。
    这里所谓的「接口」有多个含意,接口是一个「概念」,也是一种Java的interface构造。你可以在不涉及Java interface的情况下,「针对接口编程」,关键就在多态。
    利用多态,程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为,不会被绑死在超类型的行为上。
    「针对超类型编程」这句话,可以更明确地说成变量的声明类型,应该是超类型,通常是一个抽象类或者是一个接口,
    如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量;这也意味着,声明类时,不用理会以后执行
    时的真正对象类型!

    第三个设计原则
      多用组合,少用继承。
      在设计时你会发现,对象的一些行为往往易于改变,采用继承时,超类的形为特性的改变会涉及到的有子类的改变,扩展性变得不够好,
      按第一原则把这些易于变化的行为抽取出来,按第二原则采用接口来管理每一类形为,让具体的形为类去继承这些接口,
      每一种形为之间不再有关系,对于主体类涉及到哪些形为,我们就把它们组合到一起好了。这样通过组合建立起来的系统具有很大的弹性,
      我们就可以在运行时动态地改变行为,只要组合的行为对象,符合正确的接口标准即可。

  • 相关阅读:
    xml解析
    xml基础
    对象的深浅克隆
    批处理文件(bat)
    贪吃蛇逻辑代码
    排序算法
    tcp,第一个例子,客户端,服务端
    网络编程三要素
    装饰者模式
    工作中遇到的问题
  • 原文地址:https://www.cnblogs.com/JYun/p/573603.html
Copyright © 2020-2023  润新知