01 Design Pattern

Design patterns overview

What is the Design Patterns
Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time.

Who firstly describe the Design Pattern
Design patterns were first described by architect Christopher Alexander in his book A Pattern Language: Towns, Buildings, Construction (Oxford University Press, 1977). The concept he introduced and called patterns – abstracting solutions to recurring design problems – caught the attention of researchers in other fields, especially those developing object-oriented software in the mid-to-late 1980s.
Who are GoF
Research into software design patterns led to what is probably the most influential book on object-oriented design: Design Patterns: Elements of Reusable Object-Oriented Software , by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Addison-Wesley, 1995; see Resources on page 20 ). These authors are often referred to as the “Gang of Four” and the book is referred to as the Gang of Four (or GoF) book.

How many design pattern
The largest part of Design Patterns is a catalog describing 23 design patterns. Other, more recent catalogs extend this repertoire and most importantly, extend coverage to more specialized types of problems. Mark Grand, in Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML, adds patterns addressing problems involving concurrency, for example, and Core J2EE Patterns: Best Practices and Design Strategies by Deepak Alur, John Crupi, and Dan Malks focuses on patterns for multi-tier applications using Java EE enterprise technologies.
Design Pattern continue to improve
There is an active pattern community that collects new patterns, continues research, and takes leads in spreading the word on patterns. In particular, the Hillside Group sponsors many conferences including one introducing newcomers to patterns under the guidance of experts. Resources on page 20 provides additional sources of information about patterns and the pattern community

Design Patterns Template

Most time the design pattern template can help us to understand the design pattern.
Pattern name and classification: A conceptual handle and category for the pattern
Intent: What problem does the pattern address?
Motivation: A scenario that illustrates the problem
Applicability: In what situations can the pattern be used?
Structure: Diagram using the Object Modeling Technique (OMT)
Participants: Classes and objects in design
* Collaborations: How classes and objects in the design collaborate
* Consequences: What objectives does the pattern achieve? What are the tradeoffs?
* Implementation: Implementation details to consider, language-specific issues
* Sample code: Sample code in Smalltalk and C++
* Known uses: Examples from the real world
* Related patterns: Comparison and discussion of related patterns

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值