理解设计模式(一)

  1. 观察者模式:定义对象间的一对多依赖,当一个对象状态改变时,所有依赖它的对象都会收到通知并自动更新


     观察者获得更新状态的方式有“推( push )”和“拉 pull ”两种方式,前者认为更合理,因为可以一次性给到观察者需要的数据;而后者对观察者更自由,可以决定什么时候去拿,拿什么样的数据,前提是主题需要定义一些列 getter 方法。注意,程序不能依赖观察者被通知的顺序

  2. 装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案


     装饰者反映出被装饰的组件类型,因为它们具有相同的接口。该模式可以通过组合和委托在运行时动态地加上新的行为

  3. 工厂方法模式:定义 一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化延迟到子类


     封装变化并提炼到一处维护,提供针对接口编程的一个框架
     
  4. 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类


     抽象工厂和工厂方法的区别是前者使用组合而后者使用继承
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值