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

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

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

        下面一一介绍:

适配器模式:

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

 

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

组合模式:

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

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

外观模式:

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

       享元模式是运用共享技术有效的支持大量细粒度的对象。简单来说,实例化的对象越多占用的内存也就越多,当存在大量重复的对象时,那就是资源的极大浪费,使机器性能减慢,享元模式就解决了这样的问题,让相同的对象共享同一个对象,这样就可以节约大量内存。

代理模式:

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

 

       代理模式是为其他对象提供一种代理以控制对这个对象的访问。通俗讲就好像是秘书与老板,老板需要什么只需要告诉秘书,秘书负责去办老板的事,这样真正与外界打交道的是秘书,而不是老板,这样就起到了一定的隔离作用。那一般都用在什么场合呢先可用在远程代理,也就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。第二种应用是虚拟代理,是根据需要创建开销很大的对象,通过它来存放实例化很长时间的真实对象(比如说打开一个很大的HTML网页,里面可能有很多文字和图片,文字可以很快就能看到,但是图片要一张一张的下载,那些未打开的图片框就是通过虚拟代理来替代了真实的图片,此时代理存储了真实图的路径和尺寸,这样可以优化下载)。第三种是安全代理,用来控制真实对象访问时的权限,一般用于对象有不同访问权限的时候。还有一种是只能索引,当调用真实对象的时候,代理处理另外一些事。

 

来源:lixueru0819

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2011年11月9日
下一篇 2011年11月9日

相关推荐