面向对象设计模式 总结归纳 01

写这篇文章的用意是便于记忆,发布出来是为了能给一些初学者一些帮助。每个人的理解都可能会有一些偏差,如果存在误解,请多多指正。谦虚并不一定就代表不自信,人无完人,学无止境,谦虚使人进步,传递正能量。

面向对象设计模式,是描述面向对象设计过程中,特定场景下“类”与“相互通信的对象”之间的场景的组织关系。

为方便阅读,下面描述的“面向对象设计模式”,简称为“设计模式”。

为什么要使用设计模式?
不用设计模式,软件也能开发,也可以做到正常运行、性能良好。但为什么还要使用设计模式?
软件是变化多端的,不光是来自于客户的需求变更,还有技术的更新,功能的扩展,性能的提升等等。在这种情况下,如果我们没有使用设计模式,在软件变更的过程中,工作难度会越来越繁复,代码会越来越难看懂,整体(变更)越来越(困难)难维护。

学习设计模式的前提
1、面向对象编程要理解透彻。怎么理解透彻?书读百遍,其义自见。
2、想在软件开发上走的更远。

使用设计模式的优缺点分析【仅限于个人的理解】
1、使用设计模式,不一定会提高软件的性能。假如,要做一个功能单一的小软件,可能直接编写代码的效率更高。
2、不一定能能减少工作量。在软件生存周期的前期,使用设计模式,所耗工时可能会更多。
3、如果设计模式使用不当,工作量和性能会受到很大的影响。
4、使用设计模式,能更好的适应软件的变化,能将变化所带来的影响减为最小。

什么时候要用设计模式?
1、软件变更较多。
2、长期维护的产品、项目。
3、中大型软件。
4、尽量在重构的时候使用设计模式。从重构得到模式

为什么要在重构的时候使用设计模式?【仅限个人看法】
1、工作量,这是最为直观的。使用什么设计模式合适,要论证;一个开发团队,对于一种开发模式的认知肯定会有高有低,前期培训,中期的指导。现在的市场模式,对于时间的要求很高,合同要求的期限,前期投入成本,市场的争夺。
2、避免使用不合适的设计模式。没有一步到位的设计模式,前期使用了不合适的设计模式,不仅会在时间上产生影响,对后期的变化也会产生严重的影响。
3、如果软件的可预见性很高,团队很成熟,使用恰当的设计模式也并不是不可以。

软件的重点【题外话】
对内
1、外观,软件是否好看,是否让人看着舒服,这是最直观的表现。
2、交互,用户的使用是否简单方便,不容易出现误操作。
3、性能,用户使用软件是能提高工作效率的,而不是影响用户的工作效率。

对外
1、代码容易看懂,注释完整准确,命名规范。
2、整体结构易懂,相关文档齐全,使用合适的设计模式,实现低耦合,高内聚。就是同一个模块内的各个元素之间要高度紧密,但是各个模块之间的相互依存度却要不那么紧密。
3、开发环境良好,环境搭建、调试、测试方便,使用相对良好的第三方控件、插件、框架等。

原文地址:https://www.cnblogs.com/765boy/p/8978791.html

时间: 2024-11-12 21:55:07

面向对象设计模式 总结归纳 01的相关文章

面向对象设计模式5大基本原则

"宇宙万物之中,没有一样东西能像思想那么顽固."        一爱默生 首先明确模式是针对面向对象的,它的三大特性,封装.继承.多态. 面向对象设计模式有5大基本原则:单一职责原则.开发封闭原则.依赖倒置原则.接口隔离原则.Liskov替换原则. 而设计模式都是在面向对象的特性以及5大基本原则的基础上衍生而来的具体实现. 1.单一职责原则(SRP): 1.1,SRP(Single Responsibilities Principle)的定义:就一个类而言,应该仅有一个引起它变化的原因

PHP面向对象设计模式

PHP设计模式——概述 常见的面向对象设计模式大约有23种,但是自从接触PHP后,渐渐发现常见的设计模式好像少了很多,网络上的资料也比较少,身边的PHP同事们有的甚至没有听说过设计模式,这也有可能是PHP的发展所带来的,因为PHP对面向对象支持的比较晚,好多PHP程序员还按照面向过程的思想写代码.于是,我决定把原来用C#写的面向对象设计模式用PHP改写. 经常听见其他程序员(Java. C#)等说PHP是不是运行在浏览器端的脚本语言,其实我在接触PHP之前也这样认为过,后来发现PHP是用C语言开

设计模式学习笔记(一)——面向对象设计模式与原则

1.设计模式的概念 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案. 2.面向对象设计模式 面向对象设计模式描述了类与相互通信的对象之间的组织关系.目的是应对变化.提高复用.减少改变. 3.什么是对象: 1)从概念层面讲,对象是某种拥有职责的抽象: 2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口: 3)从语言实现层面来看,对象封装了代码和数据(也就是行为和状态).如果我们抛开代码的实现来看对象的概念,那么它应该就像个具体的物体,比如说:榔头,从概念层面讲,榔头有它的职责

面向对象设计模式与原则

最近在学习李建忠老师一系列的关于面向对象设计模式的课程,就想着把总结下来,以便自己以后的学习,设计模式是一个比较空洞的话题,随着我们的编程经验的积累,我们能增加对它的理解,这是一个日积月累的过程,但是我们应该在平时的编程过程中学会思考和分析,想一想在某种特定的场景下使用什么样的设计模式,怎样才能做到代码的易扩展和维护,这都是我们要思考的问题,所以掌握好设计模式能对我们的编程起到很大的作用,能让我们写出来的代码很美. 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案,面向对象的设计模式

第8篇-JAVA面向对象-设计模式Ⅳ

第8篇-JAVA面向对象-设计模式Ⅳ 每篇一句 : 想象是程序的创作之源 初学心得 : 平静的海洋练不出熟练的水手 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-11| JAVA面向对象 Ⅳ] JAVA设计模式 什么是JAVA设计模式以及作用? 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结 使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性,本篇将介绍10种JAVA常用设计模式 1.JAVA 设计模式 - 单例设计模式 单例模

《数据结构与面向对象程序设计》第01周学习总结

目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第01周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评模板: 点评过的同学博客和代码 其他(感悟.思考等,可选) 学习进度条 参考资料 目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第01周学习总结 教材学习内容总结 学习了java的历史与发展. 学习了一些软件工具,开发环境等. 掌握

C#面向对象设计模式之前言

一.面相对象的三大机制(封装.继承.多态) 1.封装:实现内部的代码  2.继承:能够复用现有的代码   3.多态:重写对象的行为方法 学习C#的语言,我们都知道三大机制的语法基础,就像学习课本一样,先学习认识字一样,不过懂的面向对象三大机制不代表我们懂得了面向对象方面的设计,学习面向对象机制所带来的抽象意义,并且使用面向对象的思维更好地表达现实世界. 二.软件设计 为什么需要软件设计?我们记住软件设计的终极目标是复用.软件设计可以让我们的系统模块与模块之间的关系变得松耦合,有利于后期代码的维护

设计模式-六大原则(01)

单一职责原则 单一职责原则(Single Responsibility Principle,简称SRP)的英文原话是:there should nerver be moren than one reason for a class to change.意思是一个类,应当只有一个引起它变化的原因.即一个类应该只有一个职责.就一个类而言,应当值专注于做一件事且仅有一个引起变化的原因,这就是所谓的单一职责原则.该原则提出了对对象职责的一种理想期望,对象不应该承担太多职责,正如人不应该一心分为二用.唯有

面向对象设计模式总结

软件设计模式的产生背景 这一篇是后面学习的基础,它从整体上介绍软件设计模式的概念与特点.软件设计模式的基本要素,以及设计模式的由来. “设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1977 年,美国著名建筑大师.加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作<建筑模式语言:城镇.建筑.构造(A Pattern Language: Towns Building Construction)中描述了一