设计模式之结构型模再理解

本文详细介绍了设计模式中的结构型模式,包括外观模式、代理模式、享元模式与桥接模式。通过具体实例阐述了如何利用这些模式解决编程中的耦合问题,并对比了策略模式的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     这几天一直在讲设计模式,很累,不过还是收获了很多。设计模式是面向对象编程,同时也倾向于面向接口编程。设计模式解决的是编程思想的问题。所以我们的结构型的模式就是从结构上解决耦合问题。 这次的设计模式是按照结构型、创建型、行为型的顺序进行讲解讨论的。

我来总结一下我理解的结构型模式:外观模式,桥接模式,代理模式,享元模式。

结构模式:是从程序结构上解决模块之间的耦合问题。

facade:为子系统的一组接口提供一个一致的界面,简化接口。


外观模式:提供一个统一接口,对功能进行整合。这样通过接口把复杂的功能封装起来,在调用的时候很轻便。尤其是面对多个功能的时候。

特点:扩充方便。不用修改界面。

外观与策略:

外观针对的是结构,策略针对的是行为。外观是提共同以接口,针对的是封装复杂的功能。策略针对的是通过不同的算法解决问题。两个策略虽然非常相像,但是还是有很多的不同的。

 

 

桥接模式:实质,两个维度,排列组合。


桥接模式:两个维度,排列组合。

这解决的不同的搭配问题。比如点菜,需要凉热搭配,荤素搭配。所以我在这里就想到了,凉菜、热菜、荤菜、素菜的选择的问题。这样我们就有四个系列。在这里我们就只能用桥接模式。这里是与策略模式不同的地方。策略模式只能有一个维度,下面我们来看看策略模式的UML图:


和之前的桥接模式,会发现有显著的区别就是多了一个维度。

 

代理模式:代理保证和实际对象直接功能必须保证一致。


 

代理模式:前提是代理和真实对象有共同的方法。控制对目标对像的访问

有点:降低了真实对象和客户之间的耦合

 

享元模式:FlyWeight:共享资源,节省空间。


模板方法是行为型模式。通过UML图的比较,我们发现享元采用的是聚合,模板方法采用的是继承,两个有各自的使用范围,因此虽然相似,但是又有不同。


 

总结:今天我只是写了结构型模式中的:外观,代理,享元,桥接。通过结构方面的结构来实现代码程序的优化。

讲课的时候,真的是很累,各种不懂,曾经沧海啊,现在总结的时候感觉清晰很多。有时候并不是我们认为自己不懂,我们就真的不懂,认真去做,然后认真总结,我们就会收获很多。

 


评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值