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

工程建设监理网站企业网站的建立费用 作什么科目

工程建设监理网站,企业网站的建立费用 作什么科目,泰安网站建设平台,网络建设与运维技能大赛中职组设计模式是软件开发中的一套通用解决方案,而简单工厂模式则是最基础、最常用的一种创建型模式。在这篇博客中,我将为大家详细介绍简单工厂模式的概念、优缺点,以及通过一个饮料制作的案例,帮助大家更好地理解和应用这种模式。 一、…

        设计模式是软件开发中的一套通用解决方案,而简单工厂模式则是最基础、最常用的一种创建型模式。在这篇博客中,我将为大家详细介绍简单工厂模式的概念、优缺点,以及通过一个饮料制作的案例,帮助大家更好地理解和应用这种模式。


一、简单工厂模式是什么?

        简单工厂模式是一种一个工厂类 根据传入的参数,动态决定创建哪种产品类实例的设计模式。虽然简单工厂不属于 GOF(四人帮)提出的23种设计模式之一,但它是工厂模式家族的重要成员。

1.简单工厂的组成:

  • 工厂类(Factory Class):
    提供创建具体产品的功能,负责封装实例化逻辑。
  • 抽象产品类(Product Interface/Abstract Class):
    定义产品的共性行为,是具体产品类的父类或接口。
  • 具体产品类(Concrete Product Classes):
    实现或继承抽象产品类,包含具体的产品功能。

2.简单工厂的优缺点:

优点:

  • 客户端无需关心对象的创建细节,只需通过工厂获取对象即可,符合 "单一职责原则"
  • 实现了对象的创建与使用分离。

缺点:

  • 增加新的产品时,工厂类需要修改逻辑,不符合 "开闭原则"(对扩展开放,对修改关闭)。
  • 工厂类的职责较重,可能造成类的复杂度增加。

二、案例:饮料制作工厂

1.需求描述:

        我们需要设计一个饮料制作工厂,可以根据用户需求制作不同类型的饮料,包括咖啡、茶水和果汁。用户输入饮料类型后,工厂动态创建对应的饮料对象,并执行制作方法。

2.具体代码

(1)抽象产品类:Drink

abstract class Drink {public abstract void make(); // 定义统一的制作方法
}

(2)具体产品类:CoffeeTeaJuice

public class Coffee extends Drink {@Overridepublic void make() {System.out.println("咖啡制作中");}
}public class Tea extends Drink {@Overridepublic void make() {System.out.println("茶水制作中");}
}public class Juice extends Drink {@Overridepublic void make() {System.out.println("果汁制作中");}
}

(3)工厂类:DrinkFactory

public class DrinkFactory {public static Drink createDrink(String type) {if ("咖啡".equalsIgnoreCase(type)) {return new Coffee();} else if ("茶水".equalsIgnoreCase(type)) {return new Tea();} else if ("果汁".equalsIgnoreCase(type)) {return new Juice();} else {throw new IllegalArgumentException("未知的饮料类型:" + type + "。请输入:咖啡、茶水或果汁!");}}
}

(4)测试类:SimpleFactoryTest

public class SimpleFactoryTest {public static void main(String[] args) {Drink coffee = DrinkFactory.createDrink("咖啡");coffee.make(); // 输出:咖啡制作中Drink tea = DrinkFactory.createDrink("茶水");tea.make(); // 输出:茶水制作中try {Drink unknown = DrinkFactory.createDrink("牛奶");unknown.make();} catch (IllegalArgumentException e) {System.out.println(e.getMessage());}}
}

(5)运行结果:

咖啡制作中
茶水制作中
未知的饮料类型:牛奶。请输入:咖啡、茶水或果汁!


三、案例解析与优化建议

1.封装逻辑:

        DrinkFactorycreateDrink() 方法封装了饮料对象的创建逻辑,客户端无需直接使用 new,只需传入饮料类型即可获得对应对象。

2.扩展性问题:

        如果需要添加新饮料,比如 "牛奶",需要修改工厂类的 createDrink() 方法逻辑。这违背了 开闭原则,但在简单需求下是可以接受的。

3.改进方向:

        使用枚举类型: 定义饮料类型为枚举常量,避免字符串硬编码导致错误。

        动态注册: 工厂可以设计为支持动态注册新产品,减少对代码的修改。


四、总结

        简单工厂模式是一种结构清晰、实现简单的设计模式,在开发中非常实用。它通过将对象的创建逻辑集中管理,使代码更具可读性和维护性。通过这次饮料制作工厂的实践,我们学会了如何应用简单工厂模式,完成了对象创建与业务逻辑的分离。

        你也可以试着实现自己的简单工厂,加入更多种类的饮料或者其它领域的场景!

        希望这篇博客能帮助到你。如果觉得有用,记得点赞、收藏哦!欢迎在评论区分享你的实现与想法! 😊


以上案例和博客内容由一次学习与实践经历整理而成,感谢每一次思考与成长!

http://www.yayakq.cn/news/225435/

相关文章:

  • 宝盈集团直营网站怎么做温州网站建设模板总部
  • 免费网站注册免费创建网站做网络营销推广途径
  • 网站搭建服务器需要什么学网站开发难吗
  • 知名自适应网站建设哪家好ppt模板资源网站
  • 苏州网站设计营销公司建设一个网站价格
  • 怎么在网站挂黑链接wordpress 访问慢
  • 福安 网站设计wordpress问题解决方法
  • wordpress加载视频网站优化比较好的公司
  • php网站开发所需要的软件网站功能框架
  • wordpress怎么给别人建站医药网站怎么做
  • 小语种网站怎么做企业所得税怎么征收几个点
  • 凡建网站电影网站如何优化
  • 文秘写作网站网站开发怎么谈客户
  • 网站建设期末答案网站建设情况检查报告
  • 受欢迎的建网站哪家好申请一个app多少钱
  • 充实网站 廉政建设 板块苏州风险区域最新
  • 网站维护页面 下载扬州做网站的公司哪个好
  • 湖南省金力电力建设有限公司 网站怎样防止别人利用自己的电脑做网站服务器
  • 石家庄网站快速排名好网站范例
  • 网站统计关键词深圳网站建设 乐云seo
  • 查看网站名称免费域名注册平台
  • 建造网站的软件华联app每周四抢电影票
  • 优必选网站wordpress发布图片插件
  • php网站建设含义网站开发投票代码
  • 洪梅镇网站仿做信誉好的武进网站建设
  • 个人网站用什么域名liunx wordpress 搭建
  • 如何用ip地址做网站电脑浏览器打不开网页是什么原因
  • 计算机网站建设实训总结oppo应用商店下载
  • 怎么增加网站首页权重wordpress博客网站多少钱
  • 海尔网站建设的缺点公关公司是什么意思