设计模式初探之四(完结篇)

职责链模式

 例子可以为请假审批,首先有个抽象类还有具体的实现,抽象职责处理器还有不同处理实现子类,每个子类含有一个上级的对象,当本对象无法处理调用上级对象处理,但是这种模式要注意什么人没处理的情况,就是要做好范围控制

中介者模式

  例子就是联合国,解决对象之间的强耦合,依赖其他对象才能完成操作的缺点。有个抽象对象和具体n个实现,每个实现类都带有中介类的引用,当实现类相互通信时,可以把信息发送到中介类对应引用的属性中,中介类抱有所有实现类的引用。

这样虽然解决了对象强耦合的关系,但是把业务量转移到了中介这个类上

享元模式

   对象能复用就复用,如果能达到只用改变几个属性时尽量复用对象,就像string字符串常量池就是这么处理的

访问模式

     主体分为操作类和访问者类,抽象访问者类根据抽象操作类分为不同的方法,操作者有一个执行操作的方法,调用访问类具体方法。流程主要是 new一个访问者类,new一个操作类,把访问类设入操作类,执行操作类的操作方法

解释器模式

   其实就是简单抽象类和具体实现类的模型,每个实现类处理不同类型的数据

设计模式的原则

        开放--封闭原则:对扩展开放,对修改封闭

        依赖倒转原则:抽象不依赖细节,细节依赖抽象

        迪米特原则:类之间尽量减少耦合,如果真的要相互联系,通过友元类来联系。最好的实践就是中介者模式和代理模式

        组合聚合原则:在能用组合聚合原则的地方就尽量别用继承,也就是写成继承时要考虑好

总结来说,先考虑遵循原则再用设计模式

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值