设计模式总结之结构型模式

来源:互联网 发布:网络女主播被粉丝下药 编辑:程序博客网 时间:2024/06/10 13:05

适配器模式

两个类所做的事情相同或相似,但是具有不同的接口。主要应用于希望复用一些现存的类,但是接口又与复用环境要求不同的情况。

Public override void Attack ()

{

Wjzf.进攻();

}

翻译者的attack时,外籍中锋的进攻执行。


装饰模式

动态的给一个对象添加一些额外的职责。也就是说装饰类作用的对象可以是没有装饰过的对象,也可以是已经装饰过的对象。这就意味着同一个接口,可以作用于任意的对象,不管它是否已经被作用过,也就是可以为已有功能动态的添加更多的功能。可以有选择的使用其中的功能,而不是全部都使用。


桥接模式

实现系统可能有多个角度分类,每一种每类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减少耦合。


组合模式

需求中体现部分与整体层次的结构时,希望用户可以忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象。基本对象可以被组合为更复杂的组合对象,而这个组合对象又可以被组合。用户不用关心到底是处理一个叶节点还是处理一个组合组件。


 


享元模式

享元模式实现了复用,可以避免大量非常相似类的开销.如果发现除了几个参数外基本都是相同的,有时就能大幅度的减少需要实例化的类的数量,如果能把参数移到类实例的外面,在方法调用时将它们传递进来,就可以通过共享大幅度的减少单个实例的数目.


 

代理模式

为其他对象提供一种代理以控制对这个对象的访问.实际上我感觉代理模式跟适配器模式相似,都是起到一个中间者的角色.同样代理其实就相当于一个它所代表的实体,只不过使用代理模式,可以隐藏一个对象存在于不同地址空间的事实,可以控制真实对象访问时的权限等等.


Class Proxy

{

Public overrideRequest()

{

Realsubject.request();

}

}

外观模式

外观模式简单点说就是把一组统一调用的子系统放在外观类中,这样便于客户操作,客户可以不用知道具体的子系统,只要与一个外观类打交道就行。

例子:买股票,买进几只股票,卖出几只股票都放在一个外观类中。


原创粉丝点击