设计模式产生的原因

设计模式是跟具体业务息息相关的。

设计模式产生的原因:

存在复杂的业务,经常需要系统重构。

为了减轻工程师的工作量,便于系统重构和修改,便于测试,设计模式产生了,其目的就是上面所说的。

所以设计模式不会凭空出现,不同的业务会产生不同的设计模式。

系统重构产生的原因:

第一次设计开发系统的时候,总是会有遗漏,会有系统缺陷,只有在后面需要实现某种复杂的业务时,系统需要重新构建,系统重构产生了。

个人理解,系统重构包括封装、继承、多态。便于扩展和修改。都是从开发者的角度思考,便于开发者重构。

http://blog.csdn.net/hoppboy/article/details/8545597

http://bbs.csdn.net/topics/340087758

设计模式产生的原因,布布扣,bubuko.com

时间: 2024-12-19 13:00:34

设计模式产生的原因的相关文章

php设计模式笔记--总结篇

一.引入  设计模式的一般定义不再说,只大概说一下我理解的设计模式,我理解的设计模式的主要目的是利用面向对象(类.接口等)特点,让代码更加易于扩展,易于重用,易于维护.这三个特点也就要求我们不要将太多功能积攒到一个类里面,而是分配到更多的类里面.所以,二十种乃至更多的设计模式主要是围绕上述四个目的进行设计的. php设计模式这一本书讲了19种设计模式,但其实有大部分设计模式思想上或者设计上是一样的思维与形式,我将在下面进行归类和总结,以便于大家更好地理解这本书,但大家最好看一下这本书,里面的使用

设计模式总结——程序员的武功秘籍(下)

设计模式总结--程序员的武功秘籍(上)介绍了设计模式产生的原因及其必要性. 那设计模式有什么具体内容呢?首先设计模式作为面向对象发展的产物,它需要面向对象基础,包括一些重要的概念啊.三大特性什么的.其次,根据面向对象思想,结合解决问题的实际情况衍生了五大原则.最后就是利用面向对象的基础和五大原则,总结出的GOF23. 用一张图来表示就是: 设计模式会贯穿面向对象开发过程,用好了能解决很复杂的问题,这是面向过程不能比拟的.用不好,不仅解决不好需求多变,还可能出现开发周期长,步骤多,代码过多等问题.

设计模式总结——程序猿武功秘籍(下一个)

设计模式总结--籍(上)介绍了设计模式产生的原因及其必要性. 那设计模式有什么详细内容呢?首先设计模式作为面向对象发展的产物.它须要面向对象基础.包含一些重要的概念啊.三大特性什么的. 其次,依据面向对象思想,结合解决这个问题的实际情况衍生了五大原则. 最后就是利用面向对象的基础和五大原则,总结出的GOF23. 用一张图来表示就是: 设计模式会贯穿面向对象开发过程,用好了能解决非常复杂的问题,这是面向过程不能比拟的.用不好,不仅解决不好需求多变,还可能出现开发周期长.步骤多,代码过多等问题.相信

[Design Pattern] 设计模式0_概述1

什么是设计模式 设计模式是前人对编程的总结. 在所谓前人栽树,后人乘凉,学习前人踩过的坑是提高自己编程实力的一个好途径. 为什么要学习设计模式 原因大致如下: * 让自己写出更加高内聚,松耦合的代码 * 让自己开发出"可维护,可拓展"的代码 * 让自己以后快速入门一个API * 学习Spring的必备前置技能 如何学习设计模式 学习设计模式不可避免必然是知道现在主流设计模式的来源和种类. 现在主流的设计模式有23种,来源于GOF. GoF是其实书籍<Design Patterns

企业级架构 MVVM 模式指南 (WPF 和 Silverlight 实现) 译(2)

本书包含的章节内容 第一章:表现模式,以一个例子呈献给读者表现模式的发展历程,我们会用包括MVC和MVP在内的各种方式实现一个收费项目的例子.沿此方向,我们会发现每一种模式的问题所在,这也是触发设计模式发展的原因.本章还会说明如果应用不当,MVC和MVP这些依赖.Net事件的表现模式是怎么导致内存泄漏的.本章会谈论各种表现模式的优缺点,并且留给读者自我思考的问题,如为什么用MVVM设计模式来代替MVP或是MVC.第二章:介绍MVVM,包括使MVVM魅力四射的WPF和Silverlight的各种特

谈谈《apue》这本书

本文最初发表于chinaunix.net论坛的帖子"[书评] <http:// UNIX环境高级编程>第三版来袭地球! 说说您跟它的故事,就能轻松把它带回家!"之回复. http://bbs.chinaunix.net/thread-4139998-9-1.html 差点来晚了. 本人作为一个误入歧途一工作就选择微软.net平台的人,对此书可是有深刻理解啊. 当年傻啊,总觉得微软的东西简单高效规范,不像开源那样乱七八糟,就选择了.net平台. 可是干了几年后终于发现,微软.

抽象的精神

软件设计,一直是一个非常抽象的,非常难懂的领域. 然而设计,并不是科学,虽然有评价标准,却没有是非对错.好的软件,就像是艺术品,闪耀着前人智慧的结晶. 本文将探讨一下流行的软件设计,以及总结一下好的设计原则和方法. 设计的基本原则 一谈到软件设计,很多人都会讲,你要怎么怎么设计软件,怎么怎么才能面向对象,怎么样才能符合设计模式.没错,目前学软件设计,最初接触的可能就是面向对象的设计方法,23种设计模式. 但我要说,软件设计,不是死板的,不是只有这些模式的.软件设计,是更为灵活的艺术品的创作,而面

【转】 为什么说面向对象编程和函数式编程都有问题

我不理解为什么人们会对面向对象编程和函数式编程做无休无止的争论.就好象这类问题已经超越了人类智力极限,所以你可以几个世纪的这样讨论下去.经过这些年对编程语言的研究,我已经清楚的看到了问题的答案,所以,我经常的发现,人们对这些问题做的都是一些抓不住要领.无意义的争论. 简言之,不论是面向对象编程还是函数式编程,如果你走了极端,那都是错误的.面向对象编程的极端是一切都是对象(纯面向对象).函数式编程的极端是纯函数式编程语言. 面向对象编程的问题 面向对象的问题在于它对"对象"的定义,它试图

10大APP界面框架设计模式详解

随着移动互联网的发展,移动app已经成为了每个互联网公司的标配了,那作为产品经理,我们如何设计出更加符合用户体验的app产品呢?今天和大家分享的就是10中最常见的app界面光甲设计模式,一起来看看吧. 1.标签导航 标签导航是十大界面框架设计里最常用的界面框架设计,也是被业界之内公认的一种普遍使用的页面框架设计.那么这种页面框架设计在作业方面对一个用户来说也是最常见的一种页面框架设计,比如说微博.微信.手机百度.支付宝.淘宝,这些我们所谓的超级APP都是运用的标签导航,无一例外.从这个角度也可以