有关结构型模式的小组总结

通过我们组的学习讨论,基本确定了结构型模式的几个大的方面

详情如下

 

结构型模式分为以下 7 种:

1:代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。(代理模式,顾名思义,就是让别人代替你来完成你要做的工作,而代理又分为三种。第一:远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样则可以隐藏一个对象存在于不同地址空间的事实。第二:虚拟代理,根据需要创建耗费很大的对象,通过它来存放实例化时间很长的真实对象。第三:安全代理,用来控制真实对象访问时的权限。)

 

2:适配器(Adapter)模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。(DataAdapetr用作DataSet和数据源之间的适配器以便检索和保存数据。)

 

3:桥接(Bridge)模式:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现的,从而降低了抽象和实现这两个可变维度的耦合度。(实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减少他们之间的耦合。)

 

4:装饰(Decorator)模式:动态地给对象增加一些职责,即增加其额外的功能。(写代码应该像一个人穿衣打扮一样,应该有先后顺序,有些需要封装好之后再拿出来运行,有些则是类似先穿袜子后穿鞋子一样,有不可逆性,否则便错误了,而运用了这个模式之后,优点不言而喻,有效的把类的核心职责和装饰功能区区分出来了,而且可以去除相关类中重复的装饰逻辑,一个功能行使一个职责,彼此不复杂。)

 

5:外观(Facade)模式:为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问。(外观模式的使用有要求,首先,在设计初期,应该有意识的分离层,层与层中间之间建立外观Façade,将此做成一个简单的接口,减少他们之间的依赖。)

 

6:享元(Flyweight)模式:运用共享技术来有效地支持大量细粒度对象的复用。(如果一个应用程序使用了大量的对象,而大量的对象造成了很大的存储开销时则使用享元模式,还有就是对象的大多数状态可以外部状态,如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象,此时可以考虑使用享元模式。)

 

7:组合(Composite)模式:将对象组合成树状层次结构,使用户对单个对象和组合对象具有一致的访问性。(需求中是体现部分与整体层次的结构时,以及希望用户可以忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象时,就应该使用组合模式了。)

posted @ 2021-02-19 19:10  计应191西七组  阅读(34)  评论(0编辑  收藏  举报