Pattern-Oriented Software Architecture

来源:互联网 发布:关键字怎么优化 编辑:程序博客网 时间:2024/05/01 19:33

最近的目标!!!呵呵,得找个电子词典来,要不误解哦.->UML下一个目标!!!

Patterns help you build on the collective experience of skilled software engineers. They capture existing, well -proven experience in software development and help to promote good design practise. Every pattern deals with a specific, recurring problem in the design or implementation of a software system. Patterns can be used to construct software architectures with specific properties.

Abstracting from specific problem-solution pairs and distilling out common factors leads to patterns: "Thess problem-solution pairs tend to fall into families of similar problems and solutions with each family exhibiting a pattern in both the problems and the solutions.

"The Timeless Way of Building":

Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution.

As an element in the world, each pattern is a relationship between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain spatial configuration which allows these forces to resolve themselves.

As an element of language, a pattern is an instruction, which shows how this spatial configuration can be used, over and over again, to resolve the given system of forces, wherever the context makes it relevant.

The pattern is, in short, at the same time a thing, which happens in the world, and the rule which tells us how to create the thing and when we must create it, It is both a process and a thing; both a description of a thing which is alive, and a description of the process which will generate that thing.

To refine our classification, we group patterns into three categories:

1.Architectual patterns

2.Design patterns

3.Idioms

Patterns do not usually exist in isolation. Christopher Alexander puts this in somewhat idealistic terms: 'Each pattern depends on the smaller patterns it contains and on the larger patterns in which it is contained';