当前位置:编程学习 > 网站相关 >>

怎样才能开发出好的软件(四)

 

怎样才能开发出好的软件(三)已经介绍了创建型模式,这一节就看一下结构型模式。

        首先结构型模式有:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式。

        下面一一介绍:

适配器模式:

\

       这个设计模式是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。这种情况一般出现在开发后期或者维护阶段,在设计阶段还是需要把接口设计的一致的,当然使用第三方控件的时候也会考虑使用适配器模式。

桥接模式:

\

 

       桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立的变化。它的优点是:把多种方式的实现独立出来,让它们各自的变化,每种实现的变化都不会影响其他实现,从而达到应对变化的目的。当我们需要多角度去分类实现对象是只用继承会造成大量的类增加,不能满足开放-封闭原则时就要考虑使用桥接模式了。

组合模式:

\

       它将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。简单来说就是使用了组合模式你可以让多个公司任意隶属组合,比如我首先设立一个总公司,总公司下设立财务部、人力资源部,还有北京分公司、上海分公司,北京分公司和上海分公司下面还设立财务部和人力资源部,就是这样的一层一层的隶属关系。这样说来财务部和人力资源部都算是叶节点,具体公司算是枝节点,具体公司下可以再设置枝节点或叶节点。那什么时候使用组合模式呢?当你发现需求只用是体现部分与整体层次的结构时,以及希望用户可以忽略组合对象与单个对象的不同,统一的使用组合模式结构中的所有对象时,就应该考虑使用组合模式了。比如:ASP.net中的TreeView控件就是组合模式的应用。

装饰模式:

\

       装饰模式可以动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。说白了装饰模式就是一层一层包装的过程,每个装饰对象只需要知道怎么包装,至于先包装哪一层是不需要知道的。它主要用在对已有功能动态的添加更多功能。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,