- 博客(4)
- 收藏
- 关注
原创 C++设计模式(9):外观模式
一、背景二、模式定义提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更加容易使用。引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。三、模式角色和UML类图四、模式总结使用场景优点缺点...
2019-11-22 11:52:49 172
原创 C++设计模式(8):适配器模式
一、背景在开发中,我们通常可以通过目标类提供的接口访问这个类提供的服务。有时候现有的类可以满足客户类的功能需求,但是他所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。在这种情况下,现有的接口需要转化为客户类期望的接口,这样保证了对现有类的重用。如果不进行这样的转化,客户类就不能利用现有类所提供的功能。适配器提供客户类需要的接口,适配器的...
2019-11-20 17:11:25 109
原创 C++设计模式(5):策略模式
一、背景在软件开发过程中,我们经常遇到实现一个功能可能需要多种不同的算法或者策略的情形,我们会根据上下文决定使用哪一种算法或者策略完成该功能。一般的做法是实现一个功能函数,通过入参结合if - else if - else来判断使用哪一种算法来完成该功能。试想,如果我们现在增加了一种实现该功能的算法,那么我们必须修改这个功能函数,为它加上对应的else if处理分支。二、策略模式定义策略模...
2019-11-09 11:09:32 220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人