设计模式总结

本文深入探讨了四种模式:模板方法模式、策略模式、桥接模式和状态模式,解释了它们的特点和应用场景。模板方法模式提供了一个固定的流程框架,而策略模式允许在运行时改变算法行为。桥接模式则实现了接口和实现的分离,状态模式则关注于在不同状态下执行不同动作。这些模式在软件设计中发挥着关键作用。

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

模板方法模式

特点是,从宏观上看流程固定,微观上看每个步骤又不同。

比如建别墅和建工厂还是建学校,都是先建地基,然后砌墙,最后装修。

这些步骤都在模板方法中抽象出来。然后不同的类型对每个步骤有不同的做法。

160756_Cijr_258106.png

策略模式

在一个类中,持有接口,这个接口有不同行为族。

160441_tXBB_258106.png

桥接模式

让接口和实现分离,达到两者能够独立变化的效果。

桥接模式和策略模式十分像。

共同:在抽象那一侧,都是持有接口,而且在抽象那一侧都是调用接口的方法来完成功能。

桥接模式含有了策略模式。

策略模式的目的是,将复杂的算法封装起来,让算法可以相互替换。

161005_7zef_258106.png

状态模式

状态模式,不同状态下的动作不同。

策略模式,不同的鸭子叫声不同,比如红头鸭、绿头鸭等等,将叫声抽象成接口,然后有一个行为族。

模板模式,有一套固定的流程,但是步骤的实现是不同的。

162426_hnQX_258106.png

观察者模式

观察者模式有两个组件分别是Subject和Observer。

Subject方有注册、注销、通知三个功能,并且维护这一个观察者队列。

Observer把自己注册到Subject中,也可以注销自己。

Subject在更新数据的时候,顺便通知队列中所有Observer。

163723_4J0o_258106.png

装饰模式

装饰模式的两组件,分别是主体和包装。

包装也是主体的子类,并且持有主体。


164736_OccY_258106.png


转载于:https://my.oschina.net/gaohongtian/blog/492949

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值