Java_设计模式_factory.docx
上传人:qw****27 上传时间:2024-09-11 格式:DOCX 页数:2 大小:18KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Java_设计模式_factory.docx

Java_设计模式_factory.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一:简单工厂简单工厂的介绍(1):产品接口:工厂所创建的所有产品的父类接口,它负责描述所有实例所共有的公共接口工厂类返回的对象类型都是父类类型(2):工厂类:简单工厂模式的核心,主要负责实现创建所有实例的内部逻辑工厂类可以被外界直接调用,创建所需要的产品对象,工厂方法都是静态方法,因为工厂类本身只负责创建产品,而没有必要去实例化。(3):产品类:实现了产品接口,是具体的产品的类型,为产品的实际类型。2.简单工厂的优缺点:(1)优点:工厂类是简单工厂模式的核心,包含了必要的逻辑判断,根据外界给定的信息,决定创建那个类型的实例,通过工厂类,外界可以从直接创创建具体对象的局面中摆脱出来,不去关心内部是怎么实现的,只需要去“消费”返回的对象就行了,明确了各自的职责和权利,有益于整个软件结构的优化。(2):缺点:他的优点也就造成了他的缺点,△:因为工厂类集中了所有实例的创建逻辑,会造成高内聚,△:将所有的实力创建都集中到一个工厂类中,那他所能创建的实例的类型只能是提前考虑好的,如果需要添加新的类型那么就会违反开闭原则了。对于系统的扩展性不利。△:当系统中的具体产品类型不断增多时,可能会出现工厂类根据不同条件创建不同的产品的需求,这时条件的判断,和生产那种产品的判断就会交错在一起,难以避免模块功能的蔓延,对于系统维护很不利。3.应用场景:(1):工厂类负责创建的对象比较少(2):客户端只需要知道输入工厂类的参数,对于内部如何创建对象的逻辑并不关心。(3):由于简单工厂违反高内聚责任分配原则,所以一般只在很简单的情况下才会用到二:工厂模式1工厂模式的介绍:工厂模式定义了一个创建对象的抽象接口,让子类去决定实例化哪个产品类,FactoryMethod把实例化延迟到了子类当中,工厂模式是对简单工厂的进一步抽象和推广。(1):工厂类(可以为抽象类或接口):这个类将不在负责具体产品的生产,而是制定一些规范,具体的生产工作由其子类去完成工厂类和产品类往往是一一对应,即一个抽象工厂对应一个抽象产品,一个具体工厂对应一个具体的产品,具体的工厂就负责生产对应的产品。2工厂模式的优缺点:优点:△:客户端的代码可以做到与特定应用无关,适用于任何实体类,体现了多态性△:良好的扩展性,增加产品类的前提下只需要增加相应的工厂类,调用者不需要关心产品类,只要关注产品接口,只要接口不变,系统上层模块就不会变。△:典型的解耦合框架,高层模块只需要知道抽象类,而不关心具体的子实现类,体现了面向对象的依赖倒置、迪米特、里氏替换等设计原则。(2)缺点:△:工厂模式把简单工厂的内部逻辑转移到了客户端代码来执行,每增加一个产品就要增加一个产品的类,增加了代码量。三:抽象工厂抽象工厂的介绍:抽象工厂是指当有多个抽象产品接口的时候使用的设计模式。抽象工厂的优缺点:优点:△:易于交换产品系列。由于具体的工厂类只在程序初始化的时候出现一次,这就使得改变一个应用的具体的工厂变得非常容易。△:它让具体的实力创建过程与客户端分离,客户端是通过他们的抽象接口操纵实例,产品的具体类名也被具体工厂的实现分离,不会出现在任何客户端代码中。(2)缺点: