博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DescribingDesign Patterns 描述设计模式
阅读量:5172 次
发布时间:2019-06-13

本文共 4144 字,大约阅读时间需要 13 分钟。

DescribingDesign Patterns

描述设计模式

How do we describe design patterns?Graphical notations, while important and useful, aren't sufficient. They simply capture the end product of thedesign process as relationships between classesand objects. To reuse the design, we must also record the decisions,alternatives, and trade-offs that led to it. Concrete examples are important too,because they help you see the design in action.

我们该如何描述设计模式?图形符号是重要和有用的,永远也不觉得多。它们只是捕捉设计的最终产品进程中类和对象的关系。为了重用设计,这就需要我们必须记录这些决议,替代,权衡。具体的例子是非常重要的,在实际的操作中它会帮助你理解设计

We describe design patterns using aconsistent format. Each pattern is divided into sections according to the followingtemplate. The template lends a uniform structure to the information, making designpatterns easier to learn, compare,

and use.

我们需要用一致的形式来描述设计模式。根据下面的模板把每一个模式分为几部分。模板提供统一的信息结构,使设计模式更容易的学习,比较,和使用。

Pattern Name and Classification

The pattern's name conveys the essence of the pattern succinctly. A good name is vital, because it will become part ofyour design vocabulary. The pattern's classification reflects thescheme we introducein Section

模式名和分类

模式名字简洁地表达了模式的精髓。完美的设计名字是至关重要的,因为它将成为你设计词汇中的一部分。我们将分成几部分介绍设计模式的分类。

Intent

A short statement that answers thefollowing questions: What does the design pattern do? What is its rationaleand intent? What particular design issue or problem does it address?

目的

几个简单的陈述回答了接下来的几个问题:设计模式要做些什么?它的基本原理和目的是什么?它专注于那些特别的设计事件和问题。

Also Known As 其他的称谓

Other well-known names for the pattern, if any.

如果有的话,模式也有其他众所周知的名字

Motivation 动机

A scenario that illustrates a design problem and how the class and object structures in the pattern solve theproblem. The scenario will help you understand the more abstract description ofthe pattern that follows.

解决问题方案是给设计问题添加图片说明和添加在模式中的类和对象结构是如何的图片说明。这个方案会帮助你理解更多的关于以下模式的抽象描述。

Applicability适用性

What are the situations in which the designpattern can be applied?What are examples of poor designs that thepattern can address? How can you recognize these situations?

设计模式可以被应用在那种情况下?设计模式可以解决的设计实例是什么?你是如何识别这种情况的?

Structure 结构

A graphical representation of the classesin the pattern using a notation based on the Object Modeling Technique(OMT) [RBP+91]. We also use interaction diagrams [JCJO92, Boo94] toillustrate sequences of requests and collaborations between objects.Appendix B describes these notations in detail.

基于对象模型技术,在模式中类的图形表示用标记。在对象之间,我们也用交互图表来说明序列的需求和合作。附录B详细的描述了这种标记。

Participants 参与者

The classes and/or objects participating inthe design pattern and their responsibilities.

类和对象参与的设计模式及其责任。

Collaborations 合作

How the participants collaborate to carryout their responsibilities.

参与者是如何合作来履行自己的责任!

Consequences 结果

How does the pattern support itsobjectives? What are the trade-offs and results of using the pattern? Whataspect of system structure does it let you vary independently?

模式是如何支持它的目标?权衡使用模式的结果是什么?系统结构方面各部分是如何实现独立变化的?

Implementation 实现

What pitfalls, hints, or techniques should you be aware of when implementing the pattern? Are therelanguage-specific issues?

当实现这个模式的时候,你是否意识到有意想不到的困难吗?有什么好的建议?有什么好的技巧吗?有特定的语言问题吗?

Sample Code 代码示例

Code fragments   that illustrate how you might implement thepattern in  C++ or Smalltalk.

代码片段是用来举例说明你是如何实现c++和smalltalk模式?

Known Uses 应用

Examples of the pattern found in realsystems. We include at least two examples from different domains.

在实际系统中发现模式的好例子。在不同的领域中至少可以发现两个例子?

Related Patterns相关的模式

What design patterns are closely related tothis one? What are the important differences? With which otherpatterns should this one be used?

那些设计模式和这个是相关的?在重要的地方有什么不同?和其他的模式相比这个模式是否可以被用?

The appendices provide backgroundinformation that will help you understand the patterns and the discussions surroundingthem. Appendix A is a glossary of terminology we use. We've already mentionedAppendix B, which presents the various notations. We'll also describe aspects ofthe notations as we introduce them in the upcoming discussions.  Finally, Appendix C contains source code forthe foundation classes we use in code samples.

附录提供的背景信息会帮助你理解这些模式并讨论与之相关的内容。附录A是我们常用的一些专业词汇。我们已经注意到附录B,介绍了各种符号。我们也会描述各方面的符号在以后的讨论中,最后,附录C包含用代码片段做的基本类源代码

转载于:https://www.cnblogs.com/dyllove98/p/3202745.html

你可能感兴趣的文章
Naive Bayes text classification
查看>>
浅谈FMA与SMA(test)
查看>>
美图秀秀美化图片之【增强】模块界面与功能设计
查看>>
数组的去重
查看>>
进程和线程的理解(转)
查看>>
程序员必知8大排序3大查找(三)
查看>>
Java 反射机制浅析
查看>>
课后作业
查看>>
秒杀多线程第四篇 一个经典的多线程同步问题
查看>>
微博客实现完毕
查看>>
oracle 中 cursor 与refcursor及sys_refcursor的区别 (转载)
查看>>
python编程练习:漏洞百出的四则运算器
查看>>
js对特殊字符转义、时间格式化、获取URL参数
查看>>
我 && yii2 (一)
查看>>
2019.01.01洛谷 P4725/P4726 多项式对数/指数函数(牛顿迭代)
查看>>
2019.02.12 bzoj3944: Sum(杜教筛)
查看>>
mkdir命令
查看>>
About ListView
查看>>
java的重载 和重写
查看>>
mediaplay抓图
查看>>