【设计模式】工厂模式

设计模式:工厂模式

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


设计原则:

依赖倒置原则
要依赖抽象,不要依赖具体类。这个原则说明了:不能让高层组件依赖低层组件,而且,不管高层或低层组件,“两者”都应该依赖于抽象。所谓“高层”组件,是由其他低层组件定义行为的类。
倒置在哪里:在依赖倒置原则中的倒置是指和一般的OO设计的思考方式完全相反。高层组件和低层组件都依赖于抽象。

指导方针:

  • 变量不可以持有具体类的引用,在java中避免使用new而使用工厂
  • 不要让类派生自具体类,如果派生自具体类,就会依赖具体类,要派生于抽象(接口或者抽象类)
  • 不要覆盖基类中已实现的方法,如果覆盖,基类就不是一个真正适合被继承的抽象,基类中已实现的方法应该由所有子类共享。

设计模式:抽象工厂模式##

定义:抽象工厂模式提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体的类。


要点

  • 所有的工厂都是用来封装对象的创建
  • 简单工厂,虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类中解耦。
  • 工厂方法使用继承:把对象的创建委托给子类,子类实现工厂方法来创建对象
  • 抽象工厂使用对象组合:对象的创建被是现在工厂接口所暴露出来的方法中
  • 所有的工厂模式都通过减少应用程序和具体类之间的依赖而促进送耦合
  • 工厂方法允许类将实例化延迟到子类中进行
  • 抽象工厂创建相关的对象家族,而不需要依赖它们的具体类
  • 依赖倒置原则,指导我们避免依赖具体类型,而要尽量依赖于抽象
  • 工厂是很有威力的技巧,帮助我们针对抽象编程,而不要针对具体类编程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、工厂模式简介 意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进...
    怡红快绿阅读 610评论 0 0
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,961评论 1 15
  • 今天学习下最常见的工厂模式,工厂模式细分下来有三大类: 他们的目标都是一样的:封装对象的创建。但是实现手段和使用场...
    西木柚子阅读 2,166评论 7 28
  • 一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在...
    李序锴阅读 568评论 0 0
  • 2015年,在简书的第一篇文章。现在是凌晨一点,有人在睡觉有人在刷微博。自从学了这个专业感觉组织语言的能力越来越下...
    五十弦客阅读 604评论 0 5