简单工厂模式是java 设计模式里头比较简单基础的一种,其特点是根据用户不同的参数而返回不同的实例。
使用简单工厂的好处在于在今后可能的系统扩展或修改时带来更大的可扩展行和更少的代码修改。
根据《重构》 中的介绍,尽量减少 生成新的对象的代码。
在这里,我自己写了一个简单工厂的小例子:
最后输出结果:
在这个例子中,先声明了一个animal 父类,animal 类中还有一个 shout 方法,其中:
System.out.println("you create a :"+this.getClass().getName());
的作用就是打印出调用 shout 方法的animal 类或其子类的类名
通过这样的方式,我们在使用 工厂方法生产的 animal 子类就可以明确到底是产生了那个子类了。
看看 AnimalFactory 工厂方法,我还顺带着用了一下多态,啥叫多态 : 声明了父类,产生的却是某个子类。
用 Animal animal =null 来声明一个 父类,
animal = new Dog () 产生一个 DOG 子类
PS:为了保证代码的健壮性,也为了向程序阅读者强调 AnimalFactory 仅仅只是一个工厂类,是用来产生 Animal 的子类对象的,
可以 将 AnimalFactory 的默认构造函数设置为private ,这样即使他人想实例化 AnimalFactory 这个工厂类,也无能为力。
修改后的工厂类方法:
分享到:
相关推荐
定义: 结构说明: 相关概念: 接口: 接口与抽象类的区别: 面向接口编程: 功能: 时序图: 优缺点: 代码阐释:
1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括:创建型模式:单例模式(8种...
普科国际软件一个学院的学习笔记,有3个文件word文档,文本,还有factory-demo源文件代码
设计模式学习笔记,此项目参考《大话设计模式》,只能作为入门级设计模式学习 设计原则 职责单一原则 开放-封闭原则 依赖倒转原则 高层模块不依赖底层模块,两个模块都应该依赖抽象。抽象不依赖细节,细节依赖抽象。...
是我在学习设计模式时整理的,其中一些是我自己学习,很多来自网络.希望对模式有兴趣的朋友有帮助,我会很高兴.
23种经典设计模式的分析,针对Java写的,自己的一些感悟, 与大家分享
{1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {...
内容详细记录了java面向对象的编程思想,java类集,IO编程以及JDBG,还有工厂设计等模式,相信会对java初学者有很大帮助
1. 创建型模式:创建型模式关注对象的创建过程,包括简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式。这些模式可以帮助我们更灵活地创建对象,避免直接使用new关键字来创建对象,降低...
简单工厂模式:用来生产同一等级结构中的任意产品(对已有产品新增功能,需要修改源代码)虽然能通过工厂来创建对象,但是违反了开闭原则。一旦增加功能需要在原有基础上修改代码。 工厂方法模式:用来生产同一等级...
参考书籍(推荐): 《Java设计模式 - 刘伟》 , 《图解设计模式 - [日]结城浩》 创建型模式 :check_mark:简单工厂模式( Simple Factor Pattern ) :memo: , :check_mark:工厂方法模式( Factory Method Pattern )...
本文实例讲述了Javascript面向对象程序设计工厂模式。分享给大家供大家参考,具体...1.简单工厂模式 简单工厂也就是按照上面的定义,根据不同的参数返回不同的结果。 //定义通用的对象类 var car = function(){};
Java Design Patterns 学习笔记 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元...
describe:设计模式学习笔记 逻辑结构图 代码结构图 设计模式简述 创建型模式,共五种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式,共七种:适配器模式,装饰器模式,代理模式,...
学习笔记较长,如果想查看文章的目录,chrome浏览器可以配合简悦插件使用,或者下载到本地使用Typora打开。 :hot_beverage: Java基础 Java容器 Java并发 数据结构和算法 数据结构 树 图 算法 分治 动态规划 回溯 ...
(1)如果设计正确,多线程程序可以通过提高处理器资源的利用率来提升系统吞吐率 (2)建模简单:通过使用线程可以讲复杂并且异步的工作流进一步分解成一组简单并且同步的工作流,每个工作流在一个单独的线程...
031506_【第15章:Java反射机制】_工厂设计模式笔记.pdf 031601_【第16章:Annotation】_系统内建Annotation笔记.pdf 031602_【第16章:Annotation】_自定义Annotation笔记.pdf 031603_【第16章:Annotation】_反射...
避坑笔记2021CICDCI/CD流程以及原理说明设计模式:策略模式单例模式工厂模式装饰器模式观察者模式适配器模式模板方法模式SpringBoot:SpringBoot(1):公共配置SpringBoot(2):generatorSpringBoot(3):docker部署...