<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 閱讀(332) 評論(0)  編輯  收藏 所屬分類: 分析與設計
    主站蜘蛛池模板: 国产亚洲成AV人片在线观黄桃| 免费永久在线观看黄网站| 亚洲AV无码专区电影在线观看| 又硬又粗又长又爽免费看 | 亚洲jizzjizz在线播放久| 亚洲黄色免费在线观看| 精品国产一区二区三区免费| 永久亚洲成a人片777777| 久久久久久久国产免费看| 亚洲精品成人网站在线观看| 无人在线观看免费高清| 亚洲一区二区三区日本久久九| 亚洲第一se情网站| 免费一级毛片在线播放| 精品一区二区三区免费视频| 亚洲精品视频在线| caoporn成人免费公开| 成人毛片视频免费网站观看| 亚洲人成无码网站在线观看| 夜色阁亚洲一区二区三区| 男女猛烈无遮掩视频免费软件 | 免费一级国产生活片| 一级成人a免费视频| 亚洲成a人片在线观看日本| 疯狂做受xxxx高潮视频免费| 久久精品国产亚洲5555| 久久国产免费一区二区三区| 亚洲国产精品久久丫| 国产精品久免费的黄网站 | 911精品国产亚洲日本美国韩国| 男人j进女人p免费视频| 日韩精品极品视频在线观看免费| 久久精品国产亚洲av影院| 最近免费中文字幕4| 国产成人1024精品免费| 亚洲日产2021三区| 免费a级毛片大学生免费观看| APP在线免费观看视频| 亚洲AV无码久久久久网站蜜桃 | 国内精品久久久久影院亚洲| 亚洲精品无码日韩国产不卡?V|