设计模式终章 : 如何使用设计模式

原创 2018年04月15日 17:41:09

设计模式使用的问题

1.不要为了使用设计模式而使用设计模式

2.设计模式并不会将代码变得更复杂,设计模式使得面向对象设计更灵活,优雅,最终复用性更好.

3.设计模式帮助设计者将新的设计建立在以往工作的基础上,复用以往成功的设计方案.

设计模式将带来什么?

设计模式主要会从以下几个方面影响你在设计面向对象软件的方式.

1.一套通用的设计词汇

       计算机科学家们对算法和数据结构进行命名和分类,但我们却很少对其他类型的模式命名.设计模式为设计者们交流讨论,书写文档,以及探索各种不同设计提供了一套通用的设计词汇.

       设计模式使你可以在比设计表示或编程语言更高的抽象级别上,谈论一个系统.从而可以降低其复杂度.

      有一套通用设计词汇的好处就是你不必描述整个设计模式,只要使用它的名字,当他人读到这个名字的时候就会理解你的设计了.

2.书写文档和学习的辅助手段

      这些设计模式可以提高你的设计水平,它们为你提供了一些常见问题的解决方案.按照一个系统所使用的设计模式来描述该系统可以让其他程序员更容易理解该系统.

      我们在自己的设计中使用这些模式,并发现它们有很多好处.我们还以某些可争议的幼稚方式使用这些设计模式.我们用它们来为类命名,思考和传授优秀的设计,并用一连串设计模式来描述我们的设计.很容易想出更复杂的使用设计模式的方式.

3.现有方法的一种补充

      面向对象设计方法可用来促进良好的设计,教新手如何设计,以及对设计活动进行标准化.一个设计方法通常定义了一组用来为设计问题各方面进行建模的记号,以及决定在什么情况下以什么样的方式使用这些记号的一组规则.设计方法通常描述一个设计中出现的问题,如何解决这些问题,以及如何评估一个设计.

      我们相信设计模式是面向设计方法所缺少的一块重要内容.这些设计模式展示了如何使用诸如对象,继承,多态等基本技术.它们也展示了如何以算法,行为,状态或者需生成的对象类型来使一个系统参数化.设计模式可以更多的描述'为什么'这样设计而不仅仅是记录你的设计成果.设计模式的适用性,效果和实现部分都会帮助指导你做出各个必要的设计决定.

4.重构的目标

      开发可复用软件的一个问题是开发者常常不得不重新组织或重构软件系统.设计模式可以帮助你重新组织一个设计,同时还能减少以后的重构工作.

      我们的设计模式记录了许多重构产生的设计结构.在设计初期使用这些模式可以防止以后的重构.不过你即使是在系统建成以后才了解如何使用这些模式.它们仍可以教你如何修改你的系统.设计模式为你的重构提供了目标.

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40099554/article/details/79950410

大话设计模式-第13章 好菜每回味不同--建造者模式

第13章 好菜每回味不同--建造者模式 13.2 炒面没放盐     “今天我就吃了两盘垃圾,其实这里面最关键的就在于我们是吃的爽还是吃的难受都要依赖于厨师。你再想想我们设计模式的原则?...
  • u014222687
  • u014222687
  • 2016-06-14 12:14:32
  • 291

大话设计模式C++实现-第13章-建造者模式

一、UML图 二、概念 建造者模式(Builder):将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 三、说明 角色: (1)Builder:是为创建一个Pro...
  • XD_lixin
  • XD_lixin
  • 2014-12-18 15:15:10
  • 1038

大话设计模式C++实现-第12章-外观模式

一、UML图 二、概念 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 三、说明 Q:外观模式在什么时候使用呢? A:分为...
  • XD_lixin
  • XD_lixin
  • 2014-12-17 23:06:55
  • 1180

如何正确学习和使用设计模式

学习设计模式必须注意“活学活用”,设计模式不是教条,而是思路,生搬硬套设计模式还不如不用。打下牢固的程序设计语言基础、夯实自己的编程思想、修炼开发内功才能游刃有余地使用设计模式。有的时候,或许你根本不...
  • YANG_Gang2017
  • YANG_Gang2017
  • 2017-12-01 19:39:42
  • 473

大话设计模式C++实现-第28章-访问者模式

一、UML图 二、概念 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它是你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 三、说明...
  • XD_lixin
  • XD_lixin
  • 2014-12-31 16:34:20
  • 950

《大话设计模式》--男人和女人--访问者模式<Visitor>(28)

V:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者模式适用于数据结构相对稳定的系统。它把数据结构和作用于结构上的操作之间的耦合解脱...
  • lovegonghui
  • lovegonghui
  • 2015-06-15 15:45:24
  • 533

大话设计模式C++实现-第14章-观察者模式

一、UML图 二、概念 观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 三、说明 角色:...
  • XD_lixin
  • XD_lixin
  • 2014-12-21 11:59:18
  • 1320

设计模式怎么使用,如何选择设计模式

设计模式的程序没有一个统一的定义,都是开发人员在开发当中不断积累,总结出来的一种可以复制重用的方案。 •    设计模式是对程序设计人员经常遇到的设计问题的可再现的解决方案 •    设计...
  • ZytheMoon
  • ZytheMoon
  • 2017-12-05 23:07:57
  • 321

为什么业务中很少用到设计模式

老铁们在写代码的的时候,估计多少都沾染一点设计模式这个概念,但很多猿人在实际的开发中发现设计模式用的很少,几乎就是零,这是为何呢?     设计模式的目的是提供可扩展性和可维护性。但是我们开发的项目...
  • PSY_God
  • PSY_God
  • 2017-12-11 18:03:34
  • 266

项目中使用到的设计模式

1、模板方法模式 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,如JdbcTemplate 2、代理 spring的Proxy模式在aop中有体现 3、观察者 定义对象间的一种一对多...
  • luwei42768
  • luwei42768
  • 2017-02-05 20:22:01
  • 1080
收藏助手
不良信息举报
您举报文章:设计模式终章 : 如何使用设计模式
举报原因:
原因补充:

(最多只允许输入30个字)