Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  java  >  正文 模式概念(The pattern concept)

模式概念(The pattern concept)

发布时间:2018-12-05   编辑:www.jquerycn.cn
jquery中文网为您提供模式概念(The pattern concept)等资源,欢迎您收藏本站,我们将为您提供最新的模式概念(The pattern concept)资源
<script>ec(2);</script>

<span lang=ZH-CN style="FONT-FAMILY: 宋体">模式概念</FONT>

<span lang=ZH-CN style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体"><o:p></o:p></FONT> </P>

<span lang=ZH-CN style="FONT-FAMILY: 宋体">“设计模式帮助你从别人的成功经验而不是你自己的失败那里学到更多东西”<span style="FONT-FAMILY: 宋体">.<span lang=ZH-CN>或许,面向对象设计领域迈出的最重要的一步就是“设计模式”运动,这一运动被记录整理成“设计模式”一书。那本书展示了23<span lang=ZH-CN>种针对特定类型问题的解决办法。本书将用例子来介绍设计模式的基本概念。这将会激起你阅读Gamma<span lang=ZH-CN>等人所著的《设计模式》一书的兴趣,该书已成为从事面相对象编程的程序员的重要的和几乎必需的“词汇表”。<o:p></o:p></FONT></P>

<span lang=ZH-CN style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">本书后面的章节用一个例子描述了设计演化的过程,从最初的解决方案开始,按照合理的推理和步骤,最终演化成更为合理的设计。这个例子程序(一个模拟<span style="COLOR: #ff6600; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">trash sorting<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt"> <span lang=ZH-CN>的例子程序)随着时间不断演化,<span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">你可以把它看作是一个原型,你自己做设计的时候也是从一个适用于某一特定问题的解决方案开始,逐渐演化成一个灵活的能够解决某一类问题的方法。<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt"><o:p></o:p></FONT></P>

<span style="FONT-FAMILY: 宋体"> <o:p></o:p></FONT>

<span lang=ZH-CN style="FONT-FAMILY: 宋体">什么是模式?<span style="FONT-FAMILY: 宋体"><o:p></o:p></FONT></P>

<span lang=ZH-CN style="FONT-FAMILY: 宋体">一开始,你可以把模式想象成一种特别巧妙和敏锐的用以解决某类特定问题的方法。更确切地说,许多人从不同角度解决了某个问题,最终大家提出了最通用和灵活的解决办法。这个问题可能是你以前见过并解决过的,但是你的方法可能比不上你将看到的模式所体现的方法来的完整。<span style="FONT-FAMILY: 宋体"><o:p></o:p></FONT></P>

<span lang=ZH-CN style="FONT-FAMILY: 宋体">尽管它们被称作“设计模式”,实际上它们没有仅仅限于设计的范畴。模式看起来似乎跟传统的分析,设计和实现相去甚远;恰恰相反,模式体现的是程序整体的构思,所以有时候它也会出现在分析或者是概要设计阶段。这是个有趣的现象,因为模式可以由代码直接实现,所以你可能不希望在详细设计或编码以前使用模式,(实际上在详细设计和编码之前你可能都不会意识到你需要某个特定的模式)。<span style="FONT-FAMILY: 宋体"><o:p></o:p></FONT></P>

<span lang=ZH-CN style="FONT-FAMILY: 宋体">模式的基本概念也可以看作是设计的基本概念:即增加一个抽象层。无论什么时候,当你想把某些东西抽象出来的时候,实际上你是在分离特定的细节,<span style="COLOR: #ff6600">这么做的一个有说服力的动机就是把变化的东西从那些不变的东西里分离出来。这个问题的另一种说法是,当你发现程序的某一部分由于某种原因有可能会变化的话,你会希望将这些变化不会传播给程序其它部分的代码。这么做不但使程序更容易维护,而且它通常使程序更容易理解(这将降低成本)。<span style="FONT-FAMILY: 宋体"><o:p></o:p></FONT></P>

<span lang=ZH-CN style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">很多情况下,对于能否设计出优雅和容易维护的系统来说,最难的就是找到“<span lang=ZH-CN style="COLOR: #ff6600; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">一系列变化的东西<span lang=ZH-CN style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">。”(这里,“<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 11.0pt">vector<span lang=ZH-CN>”指最大梯度

您可能感兴趣的文章:
一个删除匹配的记录的shell脚本
AWK 简介与例子
正则表达式使用详解
linux文件系统路径学习
shell编程基础知识(2)-正则表达式
通过实例学习php正则表达式之正则处理函数(preg_match,preg_match_all,preg_replace,preg_split)
perl模块安装的自定义路径方法
js过滤HTML标签以及空格的思路及代码
linux shell通配符、特殊符号与文件描述符
BIND9 DNS配置详解

上一篇:如何学好J2ME
[关闭]