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

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

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

    積累,創(chuàng)造,分享!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      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 閱讀(336) 評論(0)  編輯  收藏 所屬分類: 分析與設計
    主站蜘蛛池模板: 亚洲国产精品久久人人爱| 亚洲性猛交XXXX| 亚洲国产成人精品电影| 午夜免费福利视频| 久久精品国产亚洲| 亚洲精品免费观看| 亚洲视频免费一区| 成人免费福利视频| 亚洲色欲啪啪久久WWW综合网| 在线观看www日本免费网站| 亚洲国产美女精品久久| 欧美三级在线电影免费| 亚洲色大成WWW亚洲女子| 在线免费观看污网站| 羞羞视频免费网站含羞草| 久久久精品国产亚洲成人满18免费网站| 特级av毛片免费观看| 久久久久亚洲AV成人网人人软件| 国产特黄特色的大片观看免费视频| 久久亚洲av无码精品浪潮| 日本道免费精品一区二区| 久久久久亚洲精品无码系列| 最近2019中文字幕免费直播| 国产成人精品日本亚洲专区6| 午夜一级免费视频| 四虎国产精品成人免费久久| 亚洲AV综合色区无码一区爱AV| 国产精品免费看久久久 | 亚洲中文字幕无码一去台湾| 成年女人喷潮毛片免费播放| 国产精品亚洲а∨天堂2021| 亚洲精品无码专区久久久 | 亚洲AV无码乱码在线观看富二代| 1000部羞羞禁止免费观看视频| 精品国产成人亚洲午夜福利| 亚洲色婷婷综合开心网| 国产一精品一AV一免费| 亚洲男人天堂2018av| 黑人大战亚洲人精品一区| 国产精品免费观看久久| 中文字幕不卡免费视频|