大话设计模式学习-第二周

第五章 依赖倒转

原则

  • 高层模块不应该依赖底层模块,两者都应该依赖抽象
  • 抽象不应该依赖细节,细节应该依赖抽象

子类能够完全替换父类,且软件功能不受影响,父类才能真正被复用,且子类能在父类的基础上增加新的行为。

程序的所有依赖关系都终止于抽象类或者接口,从而增加扩展能力。

第六章 装饰模式

与建造者模式类似,但是装饰模式的过程是不稳定的。
装饰模式,动态的给对象添加一些额外的职责。在增加功能的角度,装饰模式比子类更加灵活。
当系统需要新的功能时只需要添加新的装饰类,原有类的核心职责不变。

  • 简化原有类
  • 将类的核心职责和装饰功能区分,去除类中重复的装饰逻辑

第七章 代理模式

proxy
为其他对象提供一种代理以控制对这个对象的访问。

应用场合

  • 远程代理 为一个对象在不同的地址空间提供局部代表(隐藏一个对象存在与不同地址的事实)
  • 虚拟代理 根据需要创建开销大的对象,通过它来存放实例化需要很长时间的真实对象
  • 安全代理 用来控制真实对象访问时的权限
  • 智能指引 当调用真实对象时代理处理另外一些事

第八章 工厂方法

简单工厂和工厂方法的区别:
简单工厂的优点在于工厂中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类。但是这么做遇到添加新的功能需要增加新的逻辑种类,对修改开放了,违反了开闭原则。
工厂方法定义了一个用于创建对象的接口,让子类决定实例化哪一个类。从而将一个类的实例化延迟到了子类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值