<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    積累,創造,分享!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      25 Posts :: 13 Stories :: 26 Comments :: 0 Trackbacks

    Patterns are about communicating problems and solutions. Simply put, patterns enable us to document a known recurring problem and its solution in a particular context, and to communicate this knowledge to others. One of the key elements in the previous statement is the word recurring, since the goal of the pattern is to foster conceptual reuse over time.

    We explore this in more detail in Chapter 5, in the section "What Is a Pattern?" on page 118.

    This well-known pattern definition comes from Christopher Alexander in A Pattern Language [Alex2]:

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

    Christopher Alexander

    Alexander expands his definition further, and noted patterns figure Richard Gabriel [Gabriel] discusses this definition in more detail [Hillside]. Gabriel offers his own version of Alexander's definition as applied to software:

    Each pattern is a three-part rule, which expresses a relation between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain software configuration which allows these forces to resolve themselves. [See A Timeless Way of Hacking.]

    Richard Gabriel

    This is a fairly rigorous definition, but there are also much looser ones. For example, Martin Fowler offers the following definition in Analysis Patterns [Fowler2]:

    A pattern is an idea that has been useful in one practical context and will probably be useful in others.

    Martin Fowler

    As you can see, there are many definitions for a pattern, but all these definitions have a common theme relating to the recurrence of a problem/solution pair in a particular context.

    Some of the common characteristics of patterns are as follows:

    • Patterns are observed through experience.

    • Patterns are typically written in a structured format (see "Pattern Template" on page 129).

    • Patterns prevent reinventing the wheel.

    • Patterns exist at different levels of abstraction.

    • Patterns undergo continuous improvement.

    • Patterns are reusable artifacts.

    • Patterns communicate designs and best practices.

    • Patterns can be used together to solve a larger problem.

    Many great minds have spent a significant amount of time attempting to define and refine the notion of a software pattern. Suffice it to say, we do not presume to be great minds, nor do we wish to spend time expanding these discussions. Instead, we attempt to be true to aspects of these various definitions, focusing on the most simple and recurring theme in each.
                                                                                                                   ---------------from Core J2ee Patterns

    posted on 2005-08-04 16:11 nighthawk 閱讀(331) 評論(0)  編輯  收藏 所屬分類: 分析與設計
    主站蜘蛛池模板: 2019中文字幕免费电影在线播放| 亚洲中文精品久久久久久不卡| 一级毛片成人免费看a| 亚洲精品视频免费看| 日本免费高清视频| 亚洲成A人片在线观看无码不卡| 亚洲一区AV无码少妇电影| 免费无码黄十八禁网站在线观看| 亚洲精品免费在线| 插B内射18免费视频| 亚洲VA中文字幕不卡无码| 立即播放免费毛片一级| 亚洲中文字幕无码爆乳av中文| 一级做a爱过程免费视频高清| 国产精品亚洲不卡一区二区三区| 女人隐私秘视频黄www免费| 久久久久亚洲AV成人无码网站 | 亚洲乱码日产精品BD在线观看| 足恋玩丝袜脚视频免费网站| 国产亚洲sss在线播放| 免费a级毛片视频| 中文无码亚洲精品字幕| 日本a级片免费看| 人妻免费久久久久久久了| 久久亚洲精品成人| 24小时免费直播在线观看| 美女露隐私全部免费直播| 永久中文字幕免费视频网站| 亚洲国产成人精品电影| 永久免费观看的毛片的网站| 亚洲精品国产日韩无码AV永久免费网 | 一级毛片成人免费看a| 内射干少妇亚洲69XXX| 特级淫片国产免费高清视频| 一区二区三区在线免费| 亚洲日本视频在线观看| 免费a级毛片网站| 4444www免费看| 免费无码一区二区| 亚洲电影免费观看| 亚洲色婷婷综合开心网|