设计模式基础

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


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

【面向对象】

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

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


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

      对象实例化之初(new()方法实现时)必需要调用构造函数,它是一种特殊的方法。没有不论什么返回值。为对象成员变量赋初值。每一个类能够有不同的构造函数。详细实现对象依据传递參数不同来识别详细调用的哪个函数。

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


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

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


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


【UML类图关系】

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

【设计模式总览】

          
              设计模式依据不同的应用划分为创建型。结构型和行为型三种类型。具体内容见我写的还有一篇文章设计模式--基础学习总结


【总结】

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


原文地址:https://www.cnblogs.com/zhchoutai/p/7230804.html