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

哪家公司设计网站好上海可以做网站的公司

哪家公司设计网站好,上海可以做网站的公司,制作ppt的软件免费下载,wordpress 评论删除目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 1、核心思想 目的:将对象创建的职责委托给工厂子类,实现对象实例化与适用的解耦。 优点: 解耦:将对象的创建与使用分离,降…

目录

1、核心思想

2、实现方式

2.1 模式结构

2.2 实现案例

3、优缺点分析

4、适用场景


1、核心思想

目的:将对象创建的职责委托给工厂子类,实现对象实例化与适用的解耦。

优点:

  • 解耦:将对象的创建与使用分离,降低代码耦合度。

  • 扩展性:新增产品类型时,只需添加新的工厂子类,无需修改已有代码(符合开闭原则)。

  • 多态性:客户端通过抽象接口操作对象,无需关心具体实现。

适用性:适合框架设计、跨平台组件、可插拔系统等需要灵活创建对象的场景

2、实现方式

2.1 模式结构

  • 产品(Product):定义产品的抽象类或接口,同类产品的顶级父类。

  • 子产品(ConcreteProduct):由产品类Product派生出的产品子类,实现抽象产品的具体类。

  • 工厂接口(Factory):定义工厂方法的工厂接口,当然也可以是抽象类,它使顶级工厂制造方法抽象化、标准统一化。声明工厂方法(返回抽象产品类型)。

  • 工厂实现(ConcreteFactory):实现了工厂接口的工厂实现类,返回具体产品实例。由工厂实现决定实例化哪个产品类。

2.2 实现案例

//1、产品
public interface Product {void operate();
}//2、子产品
// 具体产品A
public class ConcreteProductA implements Product {@Overridepublic void operate() {System.out.println("ProductA operation");}
}// 具体产品B
public class ConcreteProductB implements Product {@Overridepublic void operate() {System.out.println("ProductB operation");}
}//3、工厂接口
public abstract class Factory {// 工厂方法(可能包含默认实现)public abstract Product createProduct();// 其他业务逻辑(可能与产品相关)public void doSomething() {Product product = createProduct();product.operate();}
}//4、工厂实现
// 生产ProductA的工厂
public class ConcreteFactoryA extends Factory{@Overridepublic Product createProduct() {return new ConcreteProductA();}
}// 生产ProductB的工厂
public class ConcreteFactoryB extends Factory{@Overridepublic Product createProduct() {return new ConcreteProductB();}
}//5、客户端使用
public class Client {public static void main(String[] args) {Factory factory = new ConcreteFactoryA();Product product = factory.createProduct();product.operate(); // 输出:ProductA operationfactory = new ConcreteFactoryB();factory.doSomething(); // 输出:ProductB operation}
}

3、优缺点分析

优点缺点
符合开闭原则(扩展无需修改已有代码)类数量增加(每个产品需对应工厂类)
客户端与具体类解耦增加系统复杂度
支持多态性和动态绑定需要预先设计抽象层级

4、适用场景

  • 框架设计:允许用户扩展框架内部组件(如Spring的BeanFactory)。

  • 跨平台开发:不同平台创建相同接口的对象(如UI组件)。

  • 数据库访问:支持多种数据库驱动(MySQL/Oracle连接器)。

  • 日志系统:输出到文件、网络或控制台的不同日志处理器。

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

相关文章:

  • BOQ 交付标准清单模板
  • 增城企业网站建设绵阳网站建设软件有哪些
  • 东莞哪里有网站建设厂家头条热点新闻
  • PostIn零基础学习 - 如何通过接口场景测试来验证业务场景的正确性
  • 数电基础:触发器
  • rt-thread信号量与互斥量
  • 网站如何做404页面自学摄影教程的网站有哪些
  • 做仿牌网站空间做网站网上怎么挂公告
  • 绿色做环保网站的好处网站开发需要什么专业
  • (111页PPT)流程行业智能工厂总体设计方案(附下载方式)
  • 我阅毕的小学、初中、高中及大学数理衔接书籍汇总(长期更新)
  • 苏州网站建设公司电话网站开发与程序开发
  • 网站建设网络推广销售机械公司网站模板
  • [Ai Agent] 07 RAG 进阶:持久化 · 精排序 · Agent 集成
  • 网站如何建设成直播间wordpress 中文包
  • 网站网页设计的组成网页设计师需要掌握的领域
  • 养殖推广网站怎么做来个网站好人有好报2024
  • 平台设计网站公司电话品牌建设金点子
  • 集成食物营养识别,打造智能健康管理应用
  • 免费行情网站大全织梦网站模板怎么用
  • 观远BI赋能跨境电商系列(一)|告别糊涂账,算清跨境利润、管透资金风险、实现精益增长
  • 9.【NXP 号令者RT1052】开发——实战-看门狗
  • 重启虚拟机后,静态IP地址通过ip addr无法查看,也就无法实现远程连接 ---- 兜底解决方案
  • 【HarmonyOS NEXT】内存泄漏防护:常见场景与解决方案
  • 制作类网站手机网站域名和pc域名的区别
  • 做视频网站需要流媒体吗国内高清视频素材网站
  • 基于高斯伪谱法的弹道优化方法及轨迹仿真计算
  • 怎么给网站做自适应wordpress.重装
  • 建设网站模块需要哪些google浏览器下载安装
  • 中山半江红网站建设重庆建工集团建设网站