大话设计模式学习心得2

1.迪米特法则

  类之间的联系越少越好,

2.外观模式

  添加一个新的类,包含子类,实现不同的组合,降低与外界的耦合,对旧代码的更新可以适用。

3.建造者模式

  和外观模式有些类似吧,实现子类的各种不同的组合,也就是在内部实现接口调用顺序,而在外界只需调用具体的接口。

4.观察者模式

  一个类A是观察者类,另一个类B是通知者类,B中调用A的接口,A中有B的通知号,其实耦合度还是很高的,只是有一个事件来到时,B主动调用注册A注册在B中的方法,A的方法里会显示调到B的通知,但其实也可以不调,这个没什么影响。在网络协议中就类似于订阅。缺点在于只能调用固定的方法。

5.事件委托

  这个的实现是,通知者类有一个函数指针数组,可以指向任意的观察者类注册进来的函数,然后有事件来到时,调用各个接口。实现可以调用不同类的不同函数名称。但这一点在C++中较难实现,因为类中的函数带有this指针,查阅网上各位网友的实现,我觉得都违背了迪米特原则,类之间的耦合度太高,所以不如直接采用观察者模式,加上建造者模式,实现不同通知调用不同类的接口,至少可以使代码清晰,效率更高,但是代码量大大提高,而且灵活度不高。

转载于:https://www.cnblogs.com/leo0000/p/5001642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值