zoukankan      html  css  js  c++  java
  • 设计模式

    把模式装入脑子,然后在自己的设计和已有的应用中,寻找何处可以使用它们。以往是代码的复用,而设计模式是经验的复用。
    1. 策略模式定义了算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

         对于鸭子问题:一般的鸭子都会游泳和展现自己的外貌。  橡皮鸭不会飞,但会吱吱叫。   木头鸭不会飞也不会叫。

         解决办法:a. 使用继承:让鸭子都具有这些行为显然不合适。

                       b. 利用接口:只有会飞的鸭子才继承Flyable接口,但Java接口不具有代码的实现,不能达到代码的复用。(这意味着在每个实现类中都要追踪Flyable接口方法的实现,可能会造成新的错误)。

                       c. 此处将鸭子中不变的swim和display两个不变的部分和飞行与叫的两个行为分开。(受设计原则a影响)

    设计原则:

           a.将应用中可变的和不变的分离开。(所有设计模式的核心:将不变的和变的分离开,使得变的部分不会影响其他部分)。

           b.针对接口编程,而不是实现。

  • 相关阅读:
    BZOJ 4025: 二分图
    20180803 题解 Winniechen's Tesst
    前尘浮华一场梦 NOI2018 游记
    UOJ#311. 【UNR #2】积劳成疾
    欢迎到我的新Blog!
    弹飞大爷 BZOJ4764 LCT维护内向基环树森林
    [SCOI2007]修车 BZOJ1070
    KD-Tree
    CDQ分治
    深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台
  • 原文地址:https://www.cnblogs.com/java-cjt/p/4013613.html
Copyright © 2011-2022 走看看