<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)  編輯  收藏 所屬分類: 分析與設計
    主站蜘蛛池模板: 亚洲国产美女精品久久| 亚洲视频精品在线| 国产亚洲日韩在线a不卡| 好爽又高潮了毛片免费下载| 99久久婷婷国产综合亚洲| 永久免费毛片在线播放| 亚洲精品无码av片| 国产精品久久久久影院免费| 黄色免费在线网址| 亚洲老妈激情一区二区三区| 成人电影在线免费观看| 久久精品国产亚洲av麻豆色欲 | 亚洲国产精品无码AAA片| 国内少妇偷人精品视频免费| 亚洲午夜精品一区二区| 国产精品久久久久久久久免费| 四虎亚洲精品高清在线观看| 四虎永久免费影院| 99精品全国免费观看视频..| 亚洲AV成人片色在线观看 | 免费被黄网站在观看| 男性gay黄免费网站| 久久亚洲高清观看| 国产免费一区二区三区| 亚洲av日韩综合一区二区三区| 亚洲国产一区二区三区| 免费人成在线观看网站品爱网| 亚洲人成77777在线观看网| 亚洲日韩中文在线精品第一| 99久久精品国产免费| 亚洲国产高清国产拍精品| 亚洲综合精品网站| **实干一级毛片aa免费| 国产成人亚洲精品播放器下载 | 国产男女猛烈无遮档免费视频网站| 国产裸体美女永久免费无遮挡| 亚洲色成人网一二三区| 国产大片91精品免费看3| 国产高清不卡免费视频| 亚洲a∨无码一区二区| 亚洲小视频在线观看|