﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-seasun-随笔分类-8.1 introduction</title><link>http://www.blogjava.net/shiwenfeng/category/42425.html</link><description>在不断模仿、思考、总结中一步一步进步！</description><language>zh-cn</language><lastBuildDate>Tue, 27 Oct 2009 04:18:52 GMT</lastBuildDate><pubDate>Tue, 27 Oct 2009 04:18:52 GMT</pubDate><ttl>60</ttl><item><title>Design Pattern And Freamwork</title><link>http://www.blogjava.net/shiwenfeng/archive/2009/10/27/299899.html</link><dc:creator>shiwf</dc:creator><author>shiwf</author><pubDate>Tue, 27 Oct 2009 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/shiwenfeng/archive/2009/10/27/299899.html</guid><wfw:comment>http://www.blogjava.net/shiwenfeng/comments/299899.html</wfw:comment><comments>http://www.blogjava.net/shiwenfeng/archive/2009/10/27/299899.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shiwenfeng/comments/commentRss/299899.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shiwenfeng/services/trackbacks/299899.html</trackback:ping><description><![CDATA[<span style="color: #993300">1.什么是模式？</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;模式，即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度，那就是模式。
<p>&nbsp;&nbsp;&nbsp;&nbsp;Alexander给出的经典定义是：每个模式都描述了一个在我们的环境中不断出现的问题，然后描述了该问题的解决方案的核心。通过这种方式，你可以无数次地使用那些已有的解决方案，无需在重复相同的工作。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;模式有不同的领域，建筑领域有建筑模式，软件设计领域也有设计模式。当一个领域逐渐成熟的时候，自然会出现很多模式。</p>
<p><span style="color: #993300">2.什么是框架？</span><br />
框架，即framework。其实就是某种应用的半成品，就是一组组件，供你选用完成你自己的系统。简单说就是使用别人搭好的舞台，你来做表演。而且，框架一般是成熟的，不断升级的软件。</p>
<p><span style="color: #993300">3.为什么要用模式？<br />
</span>因为模式是一种指导，在一个良好的指导下，有助于你完成任务，有助于你作出一个优良的设计方案，达到事半功倍的效果。而且会得到解决问题的最佳办法。</p>
<p><span style="color: #993300">4.为什么要用框架？<br />
</span>因为软件系统发展到今天已经很复杂了，特别是服务器端软件，设计到的知识，内容，问题太多。在某些方面使用别人成熟的框架，就相当于让别人帮你完成一些基础工作，你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟，稳健的，他可以处理系统很多细节问题，比如，事物处理，安全性，数据流控制等问题。还有框架一般都经过很多人使用，所以结构很好，所以扩展性也很好，而且它是不断升级的，你可以直接享受别人升级代码带来的好处。<br />
框架一般处在低层应用平台（如J2EE）和高层业务逻辑之间的中间层。</p>
<p>软件为什么要分层？<br />
为了实现&#8220;高内聚、低耦合&#8221;。把问题划分开来各个解决，易于控制，易于延展，易于分配资源&#8230;总之好处很多啦：）。</p>
<p><span style="color: #993300">5.以下所述主要是JAVA，J2EE方面的模式和框架：</span><br />
常见的设计模式有什么？<br />
首先，你要了解的是GOF的《设计模式--可复用面向对象软件的基础》一书（这个可以说是程序员必备的了），注意：GOF不是一个人，而是指四个人。它的原意是Gangs Of Four,就是&#8220;四人帮&#8221;，就是指此书的四个作者：Erich Gamma,Richard Helm，Ralph Johnson,John Vlissides。这本书讲了23种主要的模式，包括：抽象工厂、适配器、外观模式等。<br />
还有其他的很多模式，估计有100多种。</p>
<p>软件设计模式太多，就我的理解简单说一下最常见的MVC模式。<br />
MVC模式是1996年由Buschmann提出的：<br />
模型（Model）：就是封装数据和所有基于对这些数据的操作。<br />
视图（View）：就是封装的是对数据显示，即用户界面。<br />
控制器（Control）：就是封装外界作用于模型的操作和对数据流向的控制等。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;另外：<br />
RUP（Rational Unified Process）软件统一过程，XP（Extreme Programming）极端编程，这些通常被叫做&#8220;过程方法&#8221;，是一种软件项目实施过程的方法论，它是针对软件项目的实施过程提出的方法策略。也是另一个角度的模式。</p>
<img src ="http://www.blogjava.net/shiwenfeng/aggbug/299899.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shiwenfeng/" target="_blank">shiwf</a> 2009-10-27 11:22 <a href="http://www.blogjava.net/shiwenfeng/archive/2009/10/27/299899.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>