设计模式——为什么要学习设计模式

不好程序:

1 情况之一:重复的代码多到一定程度,维护的时候,可能就是一场灾难。

好程序的标准(灵活性好):

1 容易维护,容易扩展,容易复用;

2 编程有一定的原则,就是用尽可能的办法去避免重复;

面向对象的好处:通过封装,继承,多态把程序的耦合度降低,用设计模式使得程序更加的灵活,容易修改,并且易于复用;

聚合(Aggregation):表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

(用空心的菱形+实线箭头表示)

合成(Composition):是一种强的“拥有”关系(也叫合成),体现了严格的部分和整体的关系,部分和整体的生命周期一样。

(用实心的菱形+实线箭头表示)

依赖(dependency):依赖关系。

(用虚线箭头表示)

结论:编程是一门技术,更加是一门艺术,不能只满足于写完代码运行结果正确就完事,时常考虑如何让代码更加简练,更加容易维护,容易扩展和复用,

只有这样才可以真正得到提高。写出优雅的代码真的是一种很爽的事情。这就是为什么我们要学设计模式的原因。

时间: 2024-10-07 14:53:37

设计模式——为什么要学习设计模式的相关文章

陈梓涵:我们为什么要学习设计模式

先说点题外话.最近想做一个Computational Graph Database (https://github.com/vczh/vczh_toys/blob/master/PlayWithLinux/Database/draft),顺便练习一下Linux下写C++程序的技巧,深刻的体会到了一个道理.Linux下有这么多烂工具,每个人做了一个工具,都会有另外一个人觉得这个工具很烂,然后就做了一个更烂的来恶心他.我本着这种开源的精神,写了一个GayMake(误,于是就有了这次的贴图.倘若最后这

Java设计模式1:设计模式概论

设计模式是什么 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易地被他人理解.保证代码可靠性.毫无疑问,设计模式于己于人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样. 总体来说,设计模式分为3大类总共23种: 1.创建型模式,共5种 工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式 2.结构型模式,共7种 适配器模式.装饰器模式.外观

猿取向的规划设计模式 ——GoF《设计模式》阅读摘要(零)

这个话题是很奇怪,设计模式是引导程序的设计不是模仿什么软件?呃.我的意思是,这是 面"对象"相对的设计模式. 我曾见过有人写<给妻子解释设计模式>,这样的把计算机中的思想与生活相结合固然非常好.人类解决这个问题的思想是相通的,计算机中的非常多思想比方分治.递归.贪心等都能在生活中找到相似的样例.可是.不恰当的样例反而会误导人的思维.造成理解偏差.设计模式本就是类与类之间怎样组织的一套软件设计经验,我们拿软件开发中的实例来解说,会更加准确. 写在前面: 为什么要学设计模式?

C#设计模式(0)-认识设计模式

简介 世界上本没有路,走的人多了也就成了路:世界上本来没有设计模式.用的人多了,也就成了设计模式.所以,我们不是严格按照它的定义去执行,可以根据自己的实际场景.需求去变通.领悟了其中的思想,实现属于自己的设计模式.通过对设计模式理解,让它它慢慢地影响你写代码的思维方式: 我们为什么要使用设计模式?使用设计模式是为了可重用代码,让代码容易被他人理解.保证代码可靠性以及可维护性. 最近看了一些关于设计模式的文章,以前也实际用过一些,这里希望将设计模式系列做一下总结,帮助我更深入地理解设计模式: 设计

设计模式----看大话设计模式笔记(二)

9.原型模式(Prototype): 用原型实例指定创建对象的种类,并通过拷贝这些原型创建行的对象. UML图: 原型模式其实就是从一个对象创建另一个可定制的对象,并且不需要知道任何创建的细节. .NET 中实现ICloneable接口即可. 一般在初始化信息不发生变化的情况下,克隆是最好的办法,隐藏了对象创建的细节,又提高了性能. MemberwiseClone()方法,如果字段是值类型,对该字段进行逐位复制:如果是引用类型,复制引用但是不复制引用的对象,因此原始对象及产生的副本引用同一对象.

【设计模式】盘点设计模式的几宗”最“

第一遍学完<大话设计模式>,顿感思考层次高了起来.让我们能站在山顶以更高的角度来俯视我们的设计.但是,我们也深知一遍的学习是远远不够的,今天先试着将自己目前的理解尽可能全面的总结一下,各位多多指教,不胜感激. 什么是设计模式 设计模式(Designpattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 原则-六宗最 最专情---- 单一职责:就一个类而言应该仅有一个引起它变化的原因. 口头禅:&

java设计模式系列之设计模式概要(1)

一.什么是设计模式 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是

[设计模式] .NET设计模式笔记 - 了解设计模式

今天在TerryLee的cnblog(http://terrylee.cnblogs.com)里看到了与设计模式相关的整套文章,初学设计模式看完每篇文章后做些笔记和摘抄. ●什么是设计模式,什么是架构? 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的

javascript设计模式研究学习-设计模式类别

编写易于维护的代码,其中一个最重要的方面是能够找到代码重复出现的主体并优化它们.这也是设计模式的有价值的地方. 设计模式类别: 一.创建型设计模式 创建型设计模式划分专注于处理对象创建机制,以适合给定情况的方式来创建对象.创建对象的基本方法可能导致项目复杂性增加,而这些模式旨在通过控制创建过程来解决这种问题. 大致可以分为: Constructor(构造器) Factory (工厂) Abstract (抽象) Prototype (原型) Singleton (单例) Builder (生成器