网站大量收购独家精品文档,联系QQ:2885784924

从菜鸟到大侠:设计原则与设计模式.doc

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从菜鸟到大侠:设计原则与设计模式

Object-Oriented Design 钟悦 2009年2月 Key Words:OOD,Design Pattern 目录 0 Preface 5 1 Basic Concepts 6 1.1 Machine-oriented VS. Problem-oriented 6 1.2 Function-oriented VS. Object-oriented 6 1.3 Freezing Requirement? 7 1.4 No Silver Bullet 8 1.5 Refactoring 8 1.6 Abstraction 8 1.7 Encapsulation 8 1.8 Hierarchy/Inheritance 9 1.9 Polymorphism 9 1.10 class 9 1.11 object 9 1.12 abstract class 9 1.13 interface 9 1.14 signature 10 1.15 type 10 1.16 class VS. type 10 1.17 Overloading VS. Overriding 10 1.18 Dynamic binding VS. Static binding 11 1.19 Passed by Value VS. Passed by Reference 11 1.20 Replace Conditional with Polimorphism 11 2 Design Principles 12 2.1 SRP 12 2.2 OCP 13 2.3 DIP 15 2.4 CARP 17 Composite VS. Inheritance 17 2.5 LSP 18 Refactoring VS. LSP 19 2.6 ISP 20 2.7 LoD 21 3 Design Patterns 22 3.1 Creational Pattern 23 3.1.1 Abstract Factory Method/Kit 24 3.1.2 Builder 26 3.1.3 Factory Method 28 Simple Factory 30 3.1.4 Prototype 31 3.1.5 Singleton 34 Monostate 36 Multiton 36 3.2 Structural Pattern 38 3.2.1 Adaptor/Wrapper 39 3.2.2 Bridge 41 3.2.3 Composite/Handle/Body 43 3.2.4 Decorator/Wapper 45 Decorator VS. Adaptor 47 3.2.5 Facade 48 3.2.6 Flyweight 50 3.2.7 Proxy/Surrogate 52 3.3 Behavioral Pattern 54 3.3.1 Chain of Responsibility 55 3.3.2 Command/Action/Transaction 57 3.3.3 Interpreter 59 3.3.4 Iterator/Cursor 61 3.3.5 Mediator 63 3.3.6 Memento/Token 65 3.3.7 Observer/Dependents/Publish-Subscribe 67 MVC 69 3.3.8 State/Objects for State 70 Immutable 71 3.3.9 Strategy/Policy 74 State VS. Strategy 76 3.3.10 Template Method 77 3.3.11 Visitor 79 4 Literature Reference 83 Preface 一位夫人打电话给建筑师,说每当火车经过,她睡的床就。  这简直是无稽之谈建筑师回答说,我来看看。  建筑师到达后,夫人建议他躺在床上,体会一下火车经过时的感觉。  建筑师刚上床躺,夫人的丈夫就回来了。他见此情形,便厉声喝问:你躺在我床上干什么?建筑师战战兢兢地回答:我说在等火车,你信吗?   有些话是真的,听很假。 Basic Concepts 多年前,有位很牛的师兄给我做技术培训。他郑重其事地说,所谓解耦,就是在需要解耦的两层之间再加上一个中间层。当时我对此付诸一笑,但现在我对当时的我也付诸一笑。所谓一笑成魔,一笑成佛,不知是否确切? 在编程概念和编程思想上,我们常常以翻越一座山的代价而仅仅是想要捅破一层纸。 “练武不练功,到老一场空。” ——中国谚语 如果可以把设计模式和其他各种设计技巧比喻为武术中的招数和套路的话,我们也不妨把面向对象的基本概念和各种设计原则比

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档