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

网站建设数据库实训体会linux用.net做网站

网站建设数据库实训体会,linux用.net做网站,网站是asp还是php,咸阳网站建设哪家专业模式定义简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,通过工厂类统一创建对象实例,客户端无需直接实例化具体类。该模式包含三个核心组件:抽象产品(Product):定义产品…

模式定义

简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,通过工厂类统一创建对象实例,客户端无需直接实例化具体类。该模式包含三个核心组件:

  1. 抽象产品(Product):定义产品接口
  2. 具体产品(ConcreteProduct):实现接口的具体类
  3. 工厂类(Factory):根据输入创建具体产品实例
UML类图
+----------------+       +-------------------+       +-----------------+
|   <<接口>>     |       |      Factory      |       |   ConcreteProdA |
|   Product      |<------|-------------------|------>|-----------------|
+----------------+       | +createProduct()  |       | +operation()    |
| +operation()   |       +-------------------+       +-----------------+
+----------------+                  ▲▲                         ||                         |       +-----------------+|                         +------>|   ConcreteProdB ||                                 |-----------------|+---------------------------------| +operation()    |+-----------------+

代码实现
// 1. 抽象产品接口
interface Product {void operation();
}// 2. 具体产品实现
class ConcreteProdA implements Product {@Overridepublic void operation() {System.out.println("执行产品A的操作");}
}class ConcreteProdB implements Product {@Overridepublic void operation() {System.out.println("执行产品B的操作");}
}// 3. 工厂类
class SimpleFactory {public Product createProduct(String type) {switch(type.toUpperCase()) {case "A": return new ConcreteProdA();case "B": return new ConcreteProdB();default: throw new IllegalArgumentException("无效的产品类型");}}
}// 4. 客户端使用
public class Client {public static void main(String[] args) {SimpleFactory factory = new SimpleFactory();Product productA = factory.createProduct("A");productA.operation();  // 输出: 执行产品A的操作Product productB = factory.createProduct("B");productB.operation();  // 输出: 执行产品B的操作}
}

核心优势
  1. 解耦对象创建

    • 客户端只需知道产品接口,无需了解具体实现类
    • 符合迪米特法则:减少对象间的依赖
  2. 集中控制

    • 创建逻辑封装在工厂类中,便于统一管理
    • 修改产品创建逻辑只需调整工厂类
  3. 可扩展性

    • 新增产品类型时,只需扩展工厂类(需修改工厂代码)
适用场景
  1. 产品类型有限且不频繁变化
  2. 客户端不关心具体实现类
  3. 需要统一管理对象创建逻辑
  4. 系统需要动态选择产品实现
局限性分析
  1. 违反开闭原则

    • 新增产品类型需修改工厂类代码
  2. 工厂职责过重

    • 所有创建逻辑集中在一个类中
    • 产品类型过多时工厂类会臃肿
  3. 类型安全风险

    • 依赖字符串/枚举标识产品类型
    • 错误类型导致运行时异常
模式演进

当产品类型频繁变化时,可考虑:

  1. 工厂方法模式:将创建延迟到子类
  2. 抽象工厂模式:创建产品族
  3. 依赖注入:通过容器管理对象创建
最佳实践建议
  1. 结合枚举类型避免字符串错误:
enum ProductType { A, B }class EnhancedFactory {public Product createProduct(ProductType type) {switch(type) {case A: return new ConcreteProdA();case B: return new ConcreteProdB();}}
}

  1. 使用静态工厂方法简化调用:
class StaticFactory {public static Product createA() { return new ConcreteProdA(); }
}

总结:简单工厂模式是创建型模式的入门设计,适用于产品类型固定且创建逻辑简单的场景。其核心价值在于分离使用与创建,但需注意在复杂场景下向更灵活的模式演进。


文章转载自:

http://YqzfdnNE.qzqjz.cn
http://BLVnW3cX.qzqjz.cn
http://J1xxsOqM.qzqjz.cn
http://jFFZK7Ne.qzqjz.cn
http://GxKTYAww.qzqjz.cn
http://F9Y5HQWL.qzqjz.cn
http://Rj9HXDGj.qzqjz.cn
http://9a5J1H8z.qzqjz.cn
http://FytoXU3C.qzqjz.cn
http://CsQHt3ZK.qzqjz.cn
http://DF6Dcmdp.qzqjz.cn
http://oODsPIFM.qzqjz.cn
http://p0vQYQ8Z.qzqjz.cn
http://qluI7ah4.qzqjz.cn
http://NZXnYMrY.qzqjz.cn
http://3lhBug4O.qzqjz.cn
http://igoM9CDd.qzqjz.cn
http://Jn97tBSq.qzqjz.cn
http://xfFBkXC1.qzqjz.cn
http://ege8G3Ph.qzqjz.cn
http://itgcwVKw.qzqjz.cn
http://02DYjyD3.qzqjz.cn
http://eRz3DzoJ.qzqjz.cn
http://4v9zcKQt.qzqjz.cn
http://8VLlEJ1B.qzqjz.cn
http://4ds5MUjT.qzqjz.cn
http://n9AJXCOu.qzqjz.cn
http://OeUEyJLo.qzqjz.cn
http://SMOaEPT1.qzqjz.cn
http://wnMIFgAd.qzqjz.cn
http://www.dtcms.com/wzjs/699862.html

相关文章:

  • 网站的功能建设方案wordpress 更改首页
  • 做鞋的垂直网站福州免费项目建设管理系统
  • 谷歌网站怎么做排名泰州网站建设 思创
  • 商城型网站开发网站建设专业制作广告
  • 专业网站制作案例无代码快速搭建网站
  • o2o网站建设包括哪些营销托管全网营销推广
  • 有哪些做特卖的网站有哪些营销型网站建设课程
  • 如何做一个手机网站被墙域名黑别人网站
  • 大背景 网站只建设电子商务网站不维护
  • 广东建设注册中心网站潍坊做外贸网站建设
  • 模板网站建设教程视频教程网站制作的公司哪家效果好
  • 社交网站开发注意事项吉林省建设厅网站
  • 如何做网站ppt网页链接制作软件
  • 上海网站建设公公司广东省建设工程造价信息网官网
  • 布料市场做哪个网站好wordpress加上live2d
  • 昌网站建设安康市城乡建设规划局 网站
  • 做网站费用上海深圳网站建设潮动九州
  • 建站是什么专业国家工商官网查询
  • 网站浮动广告代码建设网站编程语言
  • 求个没封的w站2022龙岩市兼职网
  • 南昌企业网站模板建站企业网站psd模板
  • 南京制作网站优化厦门网直播
  • 微网站开发难度合肥建设网站查询系统
  • 网站开发入门个人网站如何进行网络推广
  • 环保设计院的网站建设有哪些网站有做网页用的小图片
  • 住房建设局网站首页经典软文推广案例
  • 做首饰网站中信建设有限责任公司校招
  • 网站建设小组的五类成员福田庆三整鼻子好吗
  • 武威市建设局网站 放管服购物网站怎么做
  • 做网站挣钱经历软件开发工程师职业分析