`

设计模式基础

阅读更多

在介绍具体的设计模式之前,先介绍一些基础知识,主要以JAVA语言为例.

一:UML简介

     对一个大型软件系统,没有UML这样的设计图,而直接进行编程是不可想像的.好比建造一栋大厦时不使用设计图纸而直接叫工人去砌砖一样.

    UML是图标式软件设计语言,主要用来描述系统各部分之间的结构,行为.

   设计模式介绍中主要用到的图包括

  •  类图

            类之间的关系:

           1.Generalization(一般化)

     2:Association(关联)

 

         3:Dependency(依赖)

 

二:OO principle

       面向对象开发的原则:在设计模式背后的原则,对设计模式的基础.

           Software entries should open for extension,and close for modification.

          例如一个JAVA的基础类,当新的版本要增加或修改功能时,能够不修改接口(如果修改接口,客户的程序都得修改)的情况下完成.

          讲的是基类与子类之间的关系,基类能出现的地方子类必须也能出现.

          长方形与正方形的例子,如果把正方形当成长方形的子类,长方形中有一个addWidth的方法,增加宽度,

显然不适应正方形.

              Depend upon abstractions.Do not depend upon concrete classes.

             即面向抽象编程,而不是面向具体编程。

              具体指导原则             

             1:不能有具体类的实例变量。

             2:不能从具体类继承。

             3:不要覆盖基类中已经实现的方法。

              不要把实现不同功能的接口放在一个类中。

             代码复用时,即一个类要用到另一个类的功能时,尽量使用合成,即用另一个类的实例变量,而不用继承.

             只有从分类学角度确认一个类确实为另一个的子类,此子类具有父类一切方法和属性时才用继承.

            即分析HAS-a 还是IS-a的关系.如反例:JAVA中的Properties类继承了Hashtable,实际上Properties只是用到了Hashtable中的部分功能,两者是HAS-a的关系,而不是IS-a的关系.

           Only talk to your immediate friends.

           朋友:当前对象,对象参数,实例变量,当前对象所创建的对象。

         

 

         Facade,Mediator模式是此原则的应用。

 

三:OO basic:

     JAVA具体实现的基础

 

 

 



评论

相关推荐

    CC++与设计模式基础课程_讲义

    在《CC++与设计模式基础课程》中,我们可以看到设计模式的学习被划分为三个主要类别:创建型、结构型和行为型模式。这些模式分别对应了对象创建、对象组合和对象交互的不同场景。 创建型模式有五种,包括: 1. 工厂...

    CC++与设计模式基础课程-讲义

    CC++与设计模式基础课程-讲义 本课程旨在为初学者提供一个系统化的学习路径,帮助他们快速入门CC++和设计模式的世界。本课程涵盖了设计模式的基础知识,包括设计模式的定义、分类、应用场景等,同时也提供了一些...

    CC++与设计模式基础课程_讲义_v1.0.4.docx

    本课程《CC++与设计模式基础课程》深入浅出地介绍了设计模式的基础知识,适合不同水平的开发者学习。 首先,设计模式分为三大类:创建型、结构型和行为型模式。创建型模式关注对象的创建,包括工厂方法、抽象工厂、...

    C++设计模式基础教程.pdf

    C++设计模式基础教程.pdf 本资源摘要信息涵盖了C++设计模式基础教程的主要知识点,包括设计模式的定义、分类、作用、学习方法和实践经验。 设计模式的定义和作用 设计模式是一套被反复使用、多数人知晓的、经过...

    设计模式基础.ppt

    设计模式基础

    C/C++设计模式基础教程

    ### C/C++设计模式基础教程知识点详述 #### 一、设计模式概述 设计模式是一种在软件工程领域中被广泛采用的概念,它旨在提供一种通用的解决方案,用于解决常见的编程问题。通过学习和掌握设计模式,程序员能够编写...

    设计模式基础学习 各种软件设计模式

    ### 设计模式基础学习——构建面向对象软件的艺术 在软件工程领域,设计模式是一种用于解决常见问题的模板或指南,特别是在面向对象编程中。本文旨在深入探讨设计模式的基础概念及其在软件开发中的重要性,根据给定...

    16丨设计模式基础:不会灵活应用设计模式,你就没有掌握面向对象编程.pdf

    "设计模式基础" 本资源主要讲解了设计模式的基础知识,以及面向对象编程的基本特性和设计模式的精髓。作者首先提出了一个问题,即在面试中经常被问到的问题“你比较熟悉哪些设计模式?”,然后指出单例和工厂模式...

    C设计模式基础教程.doc

    C设计模式基础教程.doc

    C++设计模式基础教程.doc

    C++设计模式基础教程.doc

    CC++与设计模式基础课程讲义

    CC++与设计模式基础课程讲义 完整版

    cc与设计模式基础课程讲义v1.0.4.doc

    cc与设计模式基础课程讲义v1.0.4.doc

    《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式

    ### 设计模式基础及其重要性 #### 设计模式概述 设计模式是一种被广泛采用的、经过验证的解决方案,用于解决软件开发过程中常见的设计问题。它不仅帮助开发者编写可复用的代码,还促进了团队成员之间的有效沟通。...

    软件设计模式作业+答案

    软件设计模式和软件体系结构知识点总结 software design patterns and software architecture knowledge points summary 创建型软件设计模式: 工厂模式(Factory Pattern):符合开闭原则,提供了一种创建对象的...

    软件工程设计模式基础.docx

    本篇文章将深入探讨设计模式的基础,特别是与软件工程、Java和J2EE相关的部分。 首先,我们要了解统一建模语言(UML),它是软件开发中的一种标准化建模工具。UML包含了多种图形,如用例图用于描绘系统与用户之间的...

    传智扫地僧设计模式基础课程讲义

    设计模式(Designpattern) 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计 模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模 式于己于他人于...

    软件设计模式-java.pdf

    全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式(共11种)、设计模式实验指导。每章包括教学目标、重点内容、模式的定义与特点、模式的结构与实现、模式的...

    研磨设计模式(完整带书签).part2.pdf

    第1章 设计模式基础 第2章 简单工厂 第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器...

    《设计模式》课程标准2018

    1. 第1章 设计模式基础 介绍软件设计模式的概念,UML类图理论,面向对象的设计原则等。教学内容包括理论学习和实践实训,学生需要通过理论考试和编写程序来掌握这部分内容。 2. 第2章 创建型模式 讲解创建型模式中...

Global site tag (gtag.js) - Google Analytics