Head First Design Pattern 读书笔记(4) 工厂模式

Head First Design Pattern 读书笔记(4) Factory Pattern 工厂模式

##Factory Pattern 类图 工厂模式类图 ##定义

  1. 工厂模式:工厂模式严格意义上不算是设计模式,而是一种编程习惯,将创建某一类“产品”的代码封装起来,达到松耦合的目的。
  2. 工厂方法模式:定义一个创建对象的接口,但是由子类自己决定创建逻辑。工厂方法让类把实例化延迟到子类。
  3. 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确制定具体类。

##几个OO的原测

  1. 依赖倒置原测(Dependency Inversion Principle):要依赖于抽象,而不是依赖于具体实现。--》类似与面向接口编程,不管是高层还是底层模块,都应该依赖于抽象。
    依赖倒置在编码中的具体实践:
    • 变量不可以持有具体的类引用 --》如使用工厂的方式代替new方式创建对象。
    • 不要让类派生自具体类。
    • 不要覆盖基类中已实现的方法。

##关于工厂模式

  1. 简单工厂与工厂方法的区别:简单工厂仅封装了产品创建代码,如果新增了产品,需要修改工厂类的代码;工厂方法将创建产品的逻辑延迟到子类中去实现,所以可以不修改原有代发动态地拓展新产品。
  2. 工厂方法与抽象工厂的区别:抽象工厂将产品划分为多个“产品家族”,每一个“族”的产品在一个具体的工厂类中生产;而工厂方法通过继承父类,重写创建逻辑产生特定产品,生产的产品没有类别等级的概念,全部属于统一类产品。
  3. 抽象工厂的具体工厂类创建产品的代码是很难拓展,如果要在“产品族”中增加新的产品,需要修改工厂类的创建代码。

转载于:https://my.oschina.net/u/1010578/blog/366222

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值