当前位置: 首页 > news >正文

论述网站建设流程公司ppt简介模板

论述网站建设流程,公司ppt简介模板,做网站到哪里接单,网站构成的作用是什么目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 1、核心思想 目的:统一管理相关对象的创建,确保产品兼容性。优先用于需要强约束产品兼容性的场景(如UI主题、跨平台适配) 概念&#…

目录

1、核心思想

2、实现方式

2.1 模式结构

2.2 实现案例

3、优缺点分析

4、适用场景


1、核心思想

目的:统一管理相关对象的创建,确保产品兼容性。优先用于需要强约束产品兼容性的场景(如UI主题、跨平台适配)

概念:抽象工厂模式是工厂方法模式的扩展,适用于需要生成产品家族的场景。抽象工厂模式一定是基于产品的族系划分(一组功能相关或依赖的对象)来布局的,其产品系列一定是相对固定的,故以抽象工厂来确立工业制造标准(各产品系列生产接口)​。

举例:以汽车工厂举例,按品牌划分为A工厂和B工厂(两个族系),这两个品牌都有轿车、越野车、跑车3个系列的产品。基于这两个品牌的汽车工厂的系列生产线,如果以后加入新的C品牌汽车、D品牌汽车等,都可以沿用此种规划好的生产模式,这便是抽象工厂模式的基础数据模型。


 

2、实现方式

2.1 模式结构

四个核心角色:

  • 抽象产品(AbstractProduct):定义一类产品的接口(如 轿车、越野、跑车)。

  • 具体产品(ConcreteProduct):实现抽象产品接口的类(如 A品牌轿车B品牌轿车...)。

  • 抽象工厂(AbstractFactory):声明创建产品族中每个产品的方法(如 create轿车()create越野()create跑车())。

  • 具体工厂(ConcreteFactory):实现抽象工厂接口,生成同一产品族的具体对象(如A品牌工厂、B品牌工厂)。

2.2 实现案例

// 1、抽象产品
// 轿车
public interface Car {void runCar();
}
// 越野车
public interface SuvCar {void runSuvCar();
}
// 跑车
public interface SportsCar {void runSportsCar();
}// 2、具体产品
// A品牌轿车
public class ABrandCar implements Car{@Overridepublic void runCar() {System.out.println("A品牌轿车运行");}
}
// A品牌越野车
public class ABrandSuvCar implements SuvCar {@Overridepublic void runSuvCar () {System.out.println("A品牌越野车运行");}
}
// A品牌跑车
public class ABrandSportsCar implements SportsCar {@Overridepublic void runSportsCar () {System.out.println("A品牌跑车运行");}
}
// B品牌轿车
public class BBrandCar implements Car{@Overridepublic void runCar() {System.out.println("B品牌轿车运行");}
}
// B品牌越野车
public class BBrandSuvCar implements SuvCar {@Overridepublic void runSuvCar () {System.out.println("B品牌越野车运行");}
}
// B品牌跑车
public class BBrandSportsCar implements SportsCar {@Overridepublic void runSportsCar () {System.out.println("B品牌跑车运行");}
}// 3、抽象工厂
public interface BrandFactory {Car createCar();SuvCar createSuvCar();SportsCar createSportsCar();
}// 4、具体工厂
// A品牌工厂
public class ABrandFactory implements BrandFactory{@Overridepublic Car createCar() {return new ABrandCar();}@Overridepublic SuvCar createSuvCar() {return new ABrandSuvCar();}@Overridepublic SportsCar createSportsCar() {return new ABrandSportsCar();}
}
// B品牌工厂
public class BBrandFactory implements BrandFactory{@Overridepublic Car createCar() {return new BBrandCar();}@Overridepublic SuvCar createSuvCar() {return new BBrandSuvCar();}@Overridepublic SportsCar createSportsCar() {return new BBrandSportsCar();}
}// 5、客户端
public class Application {public static void main(String[] args) {BrandFactory factory = new ABrandFactory();factory.createCar();factory.createSuvCar();factory.createSportsCar();factory = new BBrandFactory();factory.createCar();factory.createSuvCar();factory.createSportsCar();}
}

3、优缺点分析

优点缺点
保证产品族兼容性新增产品类型需修改所有工厂接口
客户端与具体类解耦代码复杂度高(类数量成倍增加)
支持灵活切换产品族(如切换主题)难以扩展新产品(违反开闭原则)

工厂方法模式与抽象工厂模式对比

维度工厂方法模式抽象工厂模式
核心目的创建单一类型对象创建相关/依赖的对象家族
产品维度处理一个产品等级结构(垂直方向)处理多个产品等级结构(水平方向)
接口复杂度单一工厂方法包含多个工厂方法的接口
扩展方向新增产品类型需修改代码新增产品家族易扩展,新增产品类型难
典型应用场景日志记录器、数据库连接器等单一产品场景跨平台UI组件、主题系统等系列产品场景
子类数量每个产品对应一个子类工厂每个产品家族对应一个子类工厂

4、适用场景

  • 跨平台应用:跨平台UI组件开发(Windows/Mac风格)

  • 主题系统:切换整体风格(如深色/浅色主题)。

  • 数据库兼容:企业级应用的多数据库适配(连接器+查询器+事务管理器)

  • 游戏开发:游戏引擎的多主题支持(中世纪/科幻风格)

http://www.dtcms.com/a/422383.html

相关文章:

  • 怎么看网站有没有做百度推广动漫网页设计作品欣赏
  • 现在的网站使用frameset做吗昆明网页制作开发
  • 茌平网站建设菜谱制作外贸网站建设谷歌推广
  • 做网站需要哪些知识淘宝可做的团购网站
  • 网站负责人不是法人微信上发的链接网站怎么做的
  • 防伪码查询网站怎么做的商务网站建设中的必备功能
  • seo网站推广软件排名wordpress文章生成分享图片插件
  • xml网站地图生成器扬州网站建设公元国际
  • 黄页网站推广服务网页设计案例欣赏
  • 高安网站设计网站审核文件
  • 零代码建站佛山网站建设在哪找
  • 深圳网站建设制作设计企业百度地图怎么看上次导航的路线
  • 中国建设教育协会网站查企业邮箱使用方法
  • 烟台消防建设信息网站cd.wordpress.ncn
  • 哪个网站上可以做代打哪些网站需要备案
  • 中山百度网站推广聊城做wap网站找谁
  • 企业网站程序制作wordpress引用文件
  • 广东省著名商标在什么网站做网站商品支付怎么做
  • 营销网站制作免费咨询找印度人做网站
  • 那个网站做图片好看的做英文的小说网站
  • 国内flex做的网站网页设计实训班
  • 上海网站建设 迈若在线绘画网站
  • jquery特效网站计算机编程培训学校哪家好
  • 广西建设职业技术学院青年网站做瞹免费视频网站
  • 济南市建设网站icp备案信息查询
  • 如何与网站建立私密关系人事处网站建设绩效目标概述
  • 如何站自己做网站手机系统网站
  • 网站用户体验存在问题光谷网站开发
  • 自助设计网站宁波网页设计招聘
  • 越秀区网站建设公司网站运营专员做什么