读书人

一堂怎么提高代码质量的培训课(2)

发布时间: 2012-10-25 10:58:57 作者: rapoo

一堂如何提高代码质量的培训课(2)

3.可变更性


?


?


?

<p style="margin: 0cm 0cm 0pt; text-indent: 27pt;"><span style="font-size: small;"><span>外观模式(</span><span lang="EN-US"><span style="font-family: Times New Roman;">Fa?ade Model</span></span><span>)通常有一个抽象类。在这个抽象类中,通常有一个主函数,按照一定地顺序去调用其它函数。而其它函数往往是某这个连续过程中的各个步骤,如以上实例中的读取</span><span lang="EN-US"><span style="font-family: Times New Roman;">XML</span></span><span>文件、解析</span><span lang="EN-US"><span style="font-family: Times New Roman;">XML</span></span><span>数据流、形成工厂等步骤。由于这是一个抽象类,这些步骤函数可以是抽象函数。抽象类仅仅定义了整个过程的执行顺序,以及一些可以通用的步骤(如读取</span><span lang="EN-US"><span style="font-family: Times New Roman;">XML</span></span><span>文件和解析</span><span lang="EN-US"><span style="font-family: Times New Roman;">XML</span></span><span>数据流),而另一些比较个性的步骤,则由它的继承类自己去完成(如上例中的“形成工厂”,由于各个工厂各不一样,因此由各自的继承类自己去决定它的工厂是怎样形成的)。</span></span></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 27pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">?</span></span></p>
<p style="margin: 0cm 0cm 0pt;">?</p>
<p style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;"><br><img src="http://dl.iteye.com/upload/attachment/189866/5dd2ee6c-b084-3522-98be-61be888a95f2.jpg" alt="一堂怎么提高代码质量的培训课(2)"><br>?</span></span></p>
<p style="margin: 0cm 0cm 0pt;"><span lang="EN-US">?</span></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 27pt;"><span style="font-size: small;"><span>各个继承类可以根据自己的需要,通过重载重新定义各个步骤函数。但是,外观模式要求不能重载主函数,因此正规的外观模式其主函数应当是</span><span lang="EN-US"><span style="font-family: Times New Roman;">final</span></span><span>(虽然我们常常不这么写)。另外,外观模式还允许你定义的这个步骤中,有些步骤是可选步骤。对与可选步骤,我们通常称为“钩子(</span><span lang="EN-US"><span style="font-family: Times New Roman;">hood</span></span><span>)”。它在编写时,在抽象类中并不是一个抽象函数,但却是一个什么都不写的空函数。继承类在编写时,如果需要这个步骤则重载这个函数,否则就什么也不写,进而在执行的时候也如同什么都没有执行。</span></span></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 27pt;"><span><span style="font-size: small;">通过以上对外观模式的描述可以发现,外观模式可以大大地提高我们的代码复用程度。</span></span></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 27pt;">?</p>
<p><span>以上一些常用设计模式,都能使我们快速提高代码质量。还是那句话,设计模式不是什么高深的东西,恰恰相反,它是初学者快速提高的捷径。然而,如果说提高代码复用是提高代码质量的初阶,使用设计模式也只能是提高代码质量的中阶。那么,什么是高阶呢?我认为是那些分析设计理论,更具体地说,就是职责驱动设计和领域驱动设计。</span></p>
<p>?</p>
<p>?</p>
</div>
<p>?</p>
<p>??? 楼主很强大,不过这个貌似是模板方法模式吧</p> 15 楼 x_root 2010-01-08 文笔不错,讲的通俗易懂。
受教了
16 楼 lishuanglin52130 2010-01-09 很好...一直关注着你的帖!!! 17 楼 TTLtry 2010-01-13 发现设计模式在很大程度上能提高自己代码的可用性,可读性。像以前自己写的一些项目代码其实很多都可以进一步通过设计模式进行重构,。

读书人网 >软件架构设计

热点推荐