设计模式基础

来源:互联网 发布:未找到移动网络的信号 编辑:程序博客网 时间:2024/05/22 01:26

    设计模式是一套被反复使用、大多数人知晓的,代码设计经验的总结,使用设计模式能提高代码重用性,可理解性和代码的可靠性。就好比大厦的设计结构一般。


            在学习设计模式前我们必须要了解一些面向对象编程的基础知识,必须从宏观上学习设计模式的用途,以及对我们编程的便利性。

【面向对象】

      在不同的学习阶段对面向对象有不一样的了解,此时我所理解的面向对象是把现实事物抽象为对象,我们的编程以对象为单位,这样我们对事物的理解会进一步加深,更容易接受和设计。
 
      
  
       对象是自包含的实体,它包括属性和方法,类是具有相同属性和功能的对象的集合。理解面向对象就要从类入手,属性和方法是组成类的两大元素。

      封装、继承、多态是面向对象的三大设计方法。

      涉及到数据在程序的存储结构就不得不考虑集合的概念,它提供数据在内存中的存储方式。

      对象实例化之初(new()方法实现时)必须要调用构造函数,它是一种特殊的方法,没有任何返回值,为对象成员变量赋初值。每个类可以有不同的构造函数,具体实现对象根据传递参数不同来识别具体调用的哪个函数。

     同一方法,不同传入参数或传出类型叫做方法重载。它可以在不改变原有方法的基础上新增功能。

       继承--把相同类的公用方法提出放到父类,子类通过继承父类的方法,就可以防止代码重复出现,提高了可扩展性。但同样存在问题,子类继承父类的方法,那父类修改子类必须跟着变化,增加了耦合性,针对此问题提出虚方法、抽象类和接口的概念。

      抽象类:抽象类不能被实例化,存在抽象方法就必须是抽象类,是专门用于继承的类,用abstract表示。

      接口:是一种标准,子类实现接口时必须实现接口所有方法,有了接口可以把生产与需求相分离,便于维护。

【UML类图关系】

      学习设计模式,理清楚各个类之间的关系必不可少:
 
           
         较难区分的是组合与聚合,聚合是一种弱“拥有”关系,表示A对象可以包含B对象,但B对象不是A对象的一部分;组合是一种强“拥有”关系,体现严格的整体与部分的关系,经典实例是鸟拥有翅膀,他们是一个统一的整体。

【设计模式总览】

          
              设计模式根据不同的应用划分为创建型,结构型和行为型三种类型。详细内容见我写的另一篇文章《设计模式--基础学习总结


【总结】

        设计模式的学习要有扎实的基础,善于提出问题,在不同的学习阶段提出不一样的问题,让学习不断深入化。

0 0
原创粉丝点击