1引言 面向对象的思想已经深入人心,但是要利用面向对象的思想开发出优秀的应用程序却不是一件容易的事情。正是基于面向对象的思想,人们对各种应用程序进行了大量的分析、总结、归纳出了设计模式。Alexanders给出模式的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作[2]。设计模式技术在GoF的经典书籍面世以来,得到了广泛的关注、研究与应用。时下如雨后春笋般涌现的各种框架都是利用设计模式的典范。其中IoC模式更是广泛应用于各种框架中。2 IoC模式2.1 I [阅读全文] [PDF]
0. Introduction 接触设计模式有两年时间了但直没有系统整理过为了不至于让自己思维被繁琐工作点点禁锢还是决定整理总结下为了能够真正做到有所收获整个系列会按照GoFDesign Patterns: Elements of Reusable Object-Oriented Software行文思路但不会照本宣科就是了Wikipedia上有关23种设计模式介绍非常全面CSDN上也可以下载中/英文电子档因此很多套话、类图概省去 最早接触设计模式时候难免被各种模式联系和区别所困扰从教科书分析可以得到模式的间形式上区别但这样对于领会设计模式意义不大我 [阅读全文] [PDF]
Flyweight定义: 避免大量拥有相同内容小类开销(如耗费内存)使大家共享个类(元类). 为什么使用? 面向对象语言原则就是切都是对象但是如果真正使用起来有时对象数可能显得很庞大比如字处理软件Software如果以每个文字都作为个对象几千个字对象数就是几千无疑耗费内存那么我们还是要"求同存异"找出这些对象群共同点设计个元类封装可以被共享类另外还有些特性是取决于应用(context)是不可共享这也Flyweight中两个重要概念内部状态rinsic和外部状态extrinsic的分. 说白点就是先捏个原始模型然后随着区别场合和环境再产生各具特征具 [阅读全文] [PDF]
什么是模式这是个看上去简单但是又非常不简单问题个人所见过很多人学习模式理论已经很长时间了但是并不真正理解这点 模式理论基本思想其实起源于中国是中国文化固有思想你我我们中每个自幼受到中国思想熏陶人都自然具有这基本思想模式思想存在于中国文化各个角落包括哲学、法律医学兵法体育文学直到我们行为处事方式 模式思想长期以来不存在于西方研究方式中至今也不是西方文化主流思想因此学习模式切忌以西方式思路学习不然话缘木求鱼事倍功半 简单地讲所谓模式就是得到很好研究范例设计模式就是设计范例在孙子兵法中充斥着各种模式孙子说“至于死地而后生”就是战争 [阅读全文] [PDF]
State定义: 区别状态区别行为;或者说每个状态有着相应行为 何时使用? State模式在实际使用中比较多适合"状态切换".我们经常会使用If 进行状态切换如果针对状态这样判断切换反复出现我们就要联想到是否可以采取State模式了 不只是根据状态也有根据属性.如果某个对象属性区别对象行为就不样这点在数据库系统中出现频率比较高我们经常会在个数据表尾部加上property属性含义字段用以标识记录中些特殊性质记录这种属性改变(切换)又是随时可能发生就有可能要使用State 是否使用? 在实际使用类似开关样状态切换是很多但有时并不是那么明显取决于 [阅读全文] [PDF]
什么是设计模式 设计模式是套被反复使用、多数人知晓、经过分类编目、代码设计经验整理总结使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 毫无疑问设计模式于己于他人于系统都是多赢设计模式使代码编制真正工程化设计模式是软件Software工程基石如同大厦块块砖石样 GoF“设计模式”是第次将设计模式提升到理论高度并将的规范标准化本书提出了23种基本设计模式自此在可复用面向对象软件Software发展过程中新大量设计模式不断出现 设计模式和框架 现在可复用面向对象软件Software系统现在般划分为 3大类 [阅读全文] [PDF]
、 设计模式隐喻 武功套路是习武门径新手要招式地练习套路烂熟于心的后熟能生巧在实战的中即可见招拆招、运用自如——此时习武的人已从“新手”成长为“好手”“高手”则没有套路实战的中只有自然反应然而招式浑然天成、恰到好处似有似无、无中生有“高手”的上还有“高高手”他们达到境界非我等凭借金氏武侠小说可以揣测 设计模式的于设计好比套路的于武术“新手”要个接个地学习模式“好手&rdqu [阅读全文] [PDF]
什么是模式这是个看上去简单但是又非常不简单问题个人所见过很多人学习模式理论已经很长时间了但是并不真正理解这点 模式理论基本思想其实起源于中国是中国文化固有思想你我我们中每个自幼受到中国思想熏陶人都自然具有这基本思想模式思想存在于中国文化各个角落包括哲学、法律医学兵法体育文学直到我们行为处事方式 模式思想长期以来不存在于西方研究方式中至今也不是西方文化主流思想因此学习模式切忌以西方式思路学习不然话缘木求鱼事倍功半 简单地讲所谓模式就是得到很好研究范例设计模式就是设计范例在孙子兵法中充斥着各种模式孙子说“至于死地而后生”就是战争 [阅读全文] [PDF]
有软件Software开发经验朋友应该有这样体会:构建个优秀系统最困难的处不在于编码(coding)而是在早期做出设计(design)上决定设计是软件Software开发生命周期中关键阶段好设计能产生好产品而不当设计则会影响最终产品质量设计重要性已经深入人心这从人们热烈讨论和研究设计模式就能看出来设计模式是拥有多年开发设计经验人给我们经验传承它是作为专家建议而引入它背后真正威力是其对真实世界抽象如果我们没有足够经验我们很难做出好设计但是富有经验开发者和设计者以设计模式形式将他们经验传授给我们拥有了这些经验的后我们也能做出好设计来了不仅如此设计模式还提高了 [阅读全文] [PDF]
引言 设计模式是面向对象思想集大成GOF在其经典著作中整理总结了23种设计模式又可分为:创建型、结构型和行为型3个大类对于软件Software设计者来说般过程就是在熟练掌握语言背景基础上了解类库大致框架和常用和接口等然后多再在百般锤炼中提高对软件Software设计思想认识 软件Software设计者要清楚自己定位和方向味沉溺于技术细节思路是制约个人技术走向成熟毒药因此学习软件Software设计了解软件Software工程是每个开发人员必备课笔者在此不想详细描述各个设计模式细节我想google和baidu上资料已经多如牛毛了而且争取学习思路方法也不 [阅读全文] [PDF]
什么是模式这是个看上去简单但是又非常不简单问题个人所见过很多人学习模式理论已经很长时间了但是并不真正理解这点 模式理论基本思想其实起源于中国是中国文化固有思想你我我们中每个自幼受到中国思想熏陶人都自然具有这基本思想模式思想存在于中国文化各个角落包括哲学、法律医学兵法体育文学直到我们行为处事方式 模式思想长期以来不存在于西方研究方式中至今也不是西方文化主流思想因此学习模式切忌以西方式思路学习不然话缘木求鱼事倍功半 简单地讲所谓模式就是得到很好研究范例设计模式就是设计范例在孙子兵法中充斥着各种模式孙子说“至于死地而后生”就是战 [阅读全文] [PDF]
、 设计模式隐喻 武功套路是习武门径新手要招式地练习套路烂熟于心的后熟能生巧在实战的中即可见招拆招、运用自如——此时习武的人已从“新手”成长为“好手”“高手”则没有套路实战的中只有自然反应然而招式浑然天成、恰到好处似有似无、无中生有“高手”的上还有“高高手”他们达到境界非我等凭借金氏武侠小说可以揣测 设计模式的于设计好比套路的于武术“新手”要个接个地学习模式“好手&rdqu [阅读全文] [PDF]
下面这些设计模式实现都是些简单举例实现如果你希望更稳固更方便实现请自己修改我以Gof书作为蓝本实现里面可以被抽象设计模式里面使用Loki, Boost, STL些东西如果有疑问话请翻阅相关书籍 //***************************************************************************Abstract Facrory 抽象工厂:目:为了把产品创建抽象化为了隐藏产品实现为了实现序列产品安全创建实现: Noir_Impl{te [阅读全文] [PDF]
简话设计模式 作者:杨宁(来自grapecity) 第章 引言 1. 本文不适合…本文不适合想通过本文来装修房子读者;本文不适合面向对象编程高手会浪费你时间如果你愿意抽出时间来阅读本文并提出宝贵建议非常感谢!什么?你没有听说过设计模式?那你也敢称高手?2. 本文适合…如果你对面向对象编程感兴趣而又没有时间去读Gang of Four“Design Patterns Elements of Reusable Object [阅读全文] [PDF]
关于要掌握的设计模式
一、为什么使用设计模式
对任何设计都可以凭主观(对设计很难做出客观评价)判断得出它是一个好的设计,还是一个坏的设计。使用设计模式是为了避免坏的设计。
目前拙劣设计的症状:
· 僵化性(Rigidity):设计难以改变
· 脆弱性(Fragility):设计易于遭到破坏
· 牢固性(Immobility):设计难以重用
· 粘滞性(Viscosity):难以做正确的事情。
· 不必要的复杂性(Needless Complexity):过分设计
· 不必要的重复(Needless [阅读全文] [PDF]
转自博客园的http://www.cnblogs.com/Marvel/archive/2008/08/29/1279258.html设计模式涵义 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。观察者模式定义 Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automat [阅读全文] [PDF]
什么是模式,这是一个看上去简单,但是又非常不简单的问题。我见过很多人,学习模式理论已经很长时间了,但是并不真正理解这一点。 模式理论的基本思想其实起源于中国,是中国文化的固有思想。你,我,我们中每一个自幼受到中国思想熏陶的人,都自然具有这一基本思想。模式的思想存在于中国文化的各个角落,包括哲学、法律,医学,兵法,体育,文学,直到我们行为处事的方式。 模式的思想,长期以来不存在于西方思考方式中,至今也不是西方文化的主流思想。因此学习模式,切忌以西方式的思路学习。不然的话,缘木求鱼,事倍功半。 简单地讲,所谓模式,就是得到很好研究的范例。设计模式,就是设计范例。在孙子兵法中,充斥着各种模式 [阅读全文] [PDF]
CrazyCoder简述:设计模式一个非常重要的环节就是工厂方法模式,有效的利用会很容易的更改有效的开发和运作,用最少的时间成本来换取最大的收益 Factory Method模式是设计模式中应用最为广泛的模式,通过本文,相信读者已经对它有了一定的认识。然而我们要明确的是:在面向对象的编程中,对象的创建工作 非常简单,对象的创建时机却很重要。Factory Method要解决的就是对象的创建时机问题,它提供了一种扩展的策略,很好地符合了开放封闭原则。 概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它 [阅读全文] [PDF]
概述 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的 算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装 机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。 本文通过现实生活中的买KFC的例子,用图解的方式来诠释建造者模式。 意图 将一个复杂的构建与其表示相分离,使得同样的 [阅读全文] [PDF]
接上篇http://www.crazycoder.cn/DotNet/Article11075.html 为系统增加抽象工厂方法 很显然,前面的解决方案带来了一个副作用:就是系统不但增加了新的类Factory,而且当系统移植时,移植工作仅仅是转移到Factory类上,工作量 并没有任何缩减,而且还是要修改系统的源码。 从Factory类在系统移植时修改的内容我们可以看出: 实际上它是专属于美国企业或者中国企业的。名称上应该叫AmericanFactory,ChineseFactory更合适。 解决方案是增加一个抽象工厂类AbstractFactory,增加一个静态方法,该方法根据一个 [阅读全文] [PDF]
- Photoshop制作强对比冷暖色高原风景照片
- soa标准化国际论坛:SOA标准化落地 第 3届SOA标准国际研讨会召开
- 没有最好只有更好:企业SOA安全:没有最好 只有更好(图)
- Photoshop制作柔美的中性红色人物照片
- Photoshop调出淡淡粉红色外景人物照片
- Photoshop制作柔和的暖色调人物照片
- Photoshop制作橙紫色的风景照片
- Photoshop制作黄褐色古典的外景人物照片
- soa在企业中的应用:SOA在填补企业通信断层上的价值
- soa标准:对SOA标准应用的期望
- eclipse启动参数:Eclipse启动新计划:通用的SOA平台
- 主导权:中国和美国争夺首个SOA国际标准制定主导权
- 虚拟化技术:浅谈基于SOA的虚拟化技术
- 什么是数据建模:SOA成功的关键是数据建模?
- SOA日渐成熟 3个错误须纠正
- soa应用:应用产生价值 SOA悄然走向主流
- 企业架构:2010年:SOA和企业架构走向融合
- 走向成熟:2010应用年:SOA是非中走向成熟(图)
- Photoshop制作柔和的淡粉蜜糖色人物照片
- 什么是SOA成功 4要素
