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

做网站公司联系方式页面做手机网站哪家好

做网站公司联系方式页面,做手机网站哪家好,蚌埠市建设管理局官方网站,网站建设通路一、什么是工厂方法模式 工厂模式又称工厂方法模式,是一种创建型设计模式,其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。工厂方法模式是目标是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。…

一、什么是工厂方法模式

        工厂模式又称工厂方法模式,是一种创建型设计模式,其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。工厂方法模式是目标是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。这种设计模式也是 Java 开发中最常见的一种模式,它的主要意图是定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

二、场景模拟

        假设我们要给一个成本计算系统设计一套各种材料的成本计算。其中材料有钢板、油漆、运输等成本,每个成本需要计算单条记录成本,本周成本和月度成本。

三、业务实现

        首先我们定义一下成本接口 ICosts,里面有三个方法,分别是SingleCosts(),WeekCosts()和

MonthCosts()。

3.1、定义成本接口

成本接口 ICosts,模拟三个方法,计算单个成本、本月成本和本周成本;

public interface ICosts {/*** 单成本计算*/void SingleCosts();/*** 周成本计算*/void WeekCosts();/*** 月成本计算*/void MonthCosts();
}

3.2、定义具体实现类 

首先是钢板类材料实现类

public class GBCosts implements ICosts {@Overridepublic void SingleCosts() {System.out.println("计算钢板成本");}@Overridepublic void WeekCosts() {System.out.println("计算本周钢板成本");}@Overridepublic void MonthCosts() {System.out.println("计算本月钢板成本");}
}

然后是油漆

public class YQCosts implements ICosts {@Overridepublic void SingleCosts() {System.out.println("计算油漆成本");}@Overridepublic void WeekCosts() {System.out.println("计算本周油漆成本");}@Overridepublic void MonthCosts() {System.out.println("计算本月油漆成本");}
}

最后是运输

public class YSCosts implements ICosts {@Overridepublic void SingleCosts() {System.out.println("计算运输成本");}@Overridepublic void WeekCosts() {System.out.println("计算本周运输成本");}@Overridepublic void MonthCosts() {System.out.println("计算本月运输成本");}
}

3.3、定义成本计算工厂

public class CostsFactory {public ICosts getCostsService(String name) {switch (name) {case "GB":return new GBCosts();case "YQ":return new YQCosts();case "YS":return new YSCosts();default:throw new RuntimeException("不错在此成本计算服务");}}
}

3.4、测试

public static void main(String[] args) {CostsFactory costsFactory = new CostsFactory();ICosts GBCosts = costsFactory.getCostsService("GB");GBCosts.SingleCosts();GBCosts.WeekCosts();GBCosts.MonthCosts();ICosts YQCosts = costsFactory.getCostsService("YQ");YQCosts.SingleCosts();YQCosts.WeekCosts();YQCosts.MonthCosts();}

可以看到既满足了业务的需求,也满足了自己对代码的追求。这样的代码不必有大量的if-else存在,而且扩展性更强,代码结构更加清晰。

四、总结

        工厂方法模式(Factory Method Pattern)是一种创建型设计模式,用于创建对象的过程被推迟到子类中进行,这样可以使一个类的实例化延迟到其子类。这种模式通过定义一个创建对象的接口,但是由子类决定要实例化的类是哪一个。

        当使用时只需要调用抽象工厂接口来创建即可,不需要了解具体的实现和创建逻辑。例如在数据库操作中,针对不同的数据库类型(Mysql、Oracle等)可以使用不同的数据库连接对象,工厂方法可以根据需要创建不同类型的连接对象。

        通过工厂方法,我们可以在客户端代码中对产品的具体类型进行抽象,并通过子类来创建相应的对象,从而提供了更大的灵活性和可扩展性。

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

相关文章:

  • qq免费注册网站微信推广网站
  • 可以做闪图的网站域名卖给别人有风险吗
  • 达州做网站的公司有哪些经典手机网站
  • 二级网站建设方案 试行投票链接制作哪家服务好
  • 有啥网站是专做时尚穿搭wordpress 清爽主题
  • 深圳自建网站做外贸无法登录国外网站怎么办
  • 平台网站建设多少钱旅游论坛网站建设
  • 平台网站建设调研报告app开发的流程
  • 摄像机怎么在自己家网站做直播网站链接 动态图怎么做
  • 新站seo优化快速上排名网站建设电话销售的话术
  • 淄博高效网站建设找哪家外贸进口流程
  • 网站名称填写什么广州互联网营销师
  • 数据线东莞网站建设技术支持两学一做注册网站吗
  • 成都网站建设思乐科技怎么找一手app推广代理
  • 网站建设的目的分析网站建设知识点的总结
  • 微信分销网站建设官网江西省建设职业培训学校网站
  • 更新网站的步骤网推所是什么意思
  • 招商网站建设目的商城网站建设实例需求
  • 自己做网站出口为什么网站有不同的扩展名
  • 企业网站整理优化网站建设与维护属于什么岗位
  • 网站内页跳转wap电子商务的网站开发
  • 张梅 合肥网站建设学网站建设哪里好
  • 网络推广公司推荐seo优化工具有哪些
  • flash网站模板下载如何做网站手机
  • 订单系统单页面网站怎么做百度投诉中心24小时电话
  • 网站运营教程群晖可以做网站吗
  • wordpress 建站 域名二手房公司网站源码
  • 浙江网站建设企业网站开发程序员的工资是多少
  • 电子商务网站建设完整案例教程s2sh pdf下载黑色星期五wordpress
  • 网站建设 南昌招标前程无忧做网站多少钱