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

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

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

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

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

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

    设计原则:

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

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

  • 相关阅读:
    MAC下配置PHP环境详解, Apache,MySQL数据库,vim
    xib和storyboard小谈,
    iOS中block运用
    IOS-UIDynamic
    ProtocolBuffers-3 For Objective C (2)-进阶
    ProtocolBuffers-3 For Objective C (1)-简单的使用
    12. UITextField
    11. KVC And KVO
    10.OC中retainCount返回值不准的原因
    9. 了解 Cocoa-百度百科
  • 原文地址:https://www.cnblogs.com/java-cjt/p/4013613.html
Copyright © 2011-2022 走看看