(一) 概述
什么是设计模式:
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码实际经验的总结
(二) 为什么要用模式(模式到底能为我们做什么)
1、一个系统需求做的再好,分析再认真,没有好的设计也是不行的,因此,我建议大家关注DESIGN PATTERN,这是大家全面进步的一个机会,也是走向务实的道路。
2、复用考虑,某些模式可以增强被包装类的复用能力
3、有效的处理需求的变更,做到以不变应万变
4、设计模式可以减少各个分析类之间的耦合和倚赖。
5、最有效的学习别人经验的方法
6、可以使你的设计象专家做出来的一样。
7、带给你全新的设计思想。
8、更好的理解别人的工作。如果你不懂模式,别人的工作你可能看不明白。
9、使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性
(三) 模式在开发中的重要性
正如上面所说的设计模式的出现是为了解决项目开发中相同问题的不断出现的一个很好的解决方法的总结。它是项目维护升级时重要的基石。如果我们把项目比作成盖房子的话,设计模式就是一个一个方砖可拆可加可扩可收,设想下你的房子用泥去糊上的话显然属于一次性的产品,而其一旦出了问题。。。。(你敢住否)。一个项目特别这个项目是产品的话我们要尽可能的去做这些个设计,虽然我们付出了一些成本(方砖是由泥土烧化而成当然是需要成本的哈)但对这个项目来说呢多了稳健和可扩展性,大大降低了相同问题的维护量,程序员之间的交互更为模式化,何乐而不为呢,所以在项目中模式的运用是不可或缺的。
(四) 模式大体框架分析
我比较倾向与下面的分类方法,首先我们要去总结下设计模式到底分为哪几种类型每种类型到底使用来解决什么问题(这个会在每个模式讲解中一一体现)
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 127.5pt" type="#_x0000_t75"><imagedata o:title="模式结构图" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png"></imagedata></shape>
(五) 学习设计模式要具备的基本条件
俗话说得好“欲练神功必先自宫,就算自宫未必成功。”这话听起来很有意思,也很搞恶,但它确确实实的反应出很现实的问题。“欲练神功必先子宫” 先决条件,“就算子宫未必成功”这个就是结果的一种。不是你子宫了你就能练成绝世神功,也是需要看先天灵性和后天努力的。说了那么多废话,其实我想表达的意思很简单,设计模式很抽象进入的门槛也不是太高,但学完后能灵活运用的人不多。那么我们进入这个领域的先决条件有那些呢
² 面向对象编程思想,知道抽象、继承、多态3个核心内容概念
² 熟练使用.NET中的任意一种语言(以后所有示例都会用C#编写所以还是希望大家多了解点C#语言)要熟练使用接口、继承、多态、委托、事件等语言实现方法
² 熟悉UML建模
² 有一定的项目经验(我在看很多朋友在写关于设计模式的文章时都忽略了这点,从我个人成长的过程来看学习设计模式单单从理论上去学习不是什么好的方法,很容易让人思维定式,我们学习设计模式不是为了学而学,是为了用而学,学会怎样灵活的使用它,这个和个人项目经验有很大的关系)
分享到:
相关推荐
设计模式之我见(1):设计模式概述 (100%) 设计模式面面观(2):设计模式基本要素与原则 (100%) 设计模式面面观(3):单件模式(Singletion)-创建型模式 (100%) 设计模式面面观(4):工厂模式...
使用设计模式是能够重用代码、让代码更容易被他人理解、保证代码可 靠性
在第1章软件设计模式概述后,从第2章到第24章诠释23个软件设计模式。 1 设计模式概述 1.1 计算机软件的发展现状 1.2 引入设计模式的必要性 1.3 软件设计遵循的基本原则 1.3.1 高内聚、低耦合 1.3.2 面向抽象...
java的23种设计模式的概述,只是简单的汇报一下,每种模式在详细叙述,将在以后慢慢上传
03 第3章 设计模式概述03 第3章 设计模式概述03 第3章 设计模式概述
在第1章软件设计模式概述后,从第2章到第24章诠释23个软件设计模式。每一种都以一个生活故事开始,然后是模式定义、模式分析、模式实现、设计原则和使用场合。模式实现通过Eclipse中的Java工程展开,采用软件编程...
全文共分四部分39章来详细阐述设计模式,是一本基础概述性及强的设计模式书籍,它不仅有丰富的实例更重要的它会告诉你在何时应该用哪种设计模式较为合理。注:每章后面均配有思考题。
Java设计模式03设计模式概述.pdf
刘伟《Java设计模式》的课后习题答案,侵删。
设计模式之:工厂模式 设计模式中常用的模式介绍和代码分析实例,简单明了的概述了这些模式
C#设计模式(1) 4 一、 C# 面向对象程序设计复习 5 二、 设计模式举例 5 三、 先有鸡还是先有蛋? 7 四、 大瓶子套小瓶子还是小瓶子套大瓶子? 8 五、 .net本质 9 C#设计模式(2) 11 一、 "开放-封闭"原则(OCP) ...
设计模式概述,讲述什么是设计模式的ppt
阅读本书,读者能够完整地理解12个核心的设计模式和1个分析模式,了解设计模式并不是孤立存在的,多个设计模式协同工作才能创建出更加坚固的应用程序。这里所讲授的12个模式并没有涵盖所有应该学会的模式,但是理解...
本书在第1章软件设计模式概述后,从第2章到第24章诠释23个软件设计模式。每一种都以一个生活故事开始,然后是模式定义、模式分析、模式实现、设计原则和使用场合。模式实现通过Eclipse中的Java工程展开,采用软件...
3. 使学生掌握如何使用面向对象的方法,采用设计模式设计可扩展、高可重用的软件。 三、创建型模式概述 3.1创建型模式:主要用于处理对象的创建,实例化对象,这可能会限制在系统内创建对象的类型或数目。创建型...
项目标题:《深入Python设计模式:原理与实践的重构之旅》 项目概述: 本项目致力于探索和学习Python中的设计模式,通过实际的代码重构来深化理解。项目包含35个文件,主要以Python语言编写,同时涉及Java语言的一...
java设计模式概述.zip
软件秘笈---设计模式那点事在第1章软件设计模式概述后,从第2章到第24章诠释23个软件设计模式。每一种都以一个生活故事开始,然后是模式定义、模式分析、模式实现、设计原则和使用场合。模式实现通过eclipse中的java...