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

舟山网站建设推广北京南站到故宫最佳路线

舟山网站建设推广,北京南站到故宫最佳路线,世界上前端做的最好的网站,寮步网站仿做每个名副其实的Java程序员都知道Factory Pattern 。 这是一种便捷#xff0c;标准化的方法#xff0c;它通过教一个组件如何捕鱼而不是将它们交给它们来减少耦合。 但是#xff0c;在使用大型系统时#xff0c;该模式确实会向系统添加大量样板代码。 对于每个实体#xff… 每个名副其实的Java程序员都知道Factory Pattern 。 这是一种便捷标准化的方法它通过教一个组件如何捕鱼而不是将它们交给它们来减少耦合。 但是在使用大型系统时该模式确实会向系统添加大量样板代码。 对于每个实体您都需要许多不同的工厂来产生该实体的不同实现这既麻烦又不需要编写。 这只是我们在Speedment中使用的许多新模式之一 。 这是一个典型的示例您希望汽车商人能够在不知道确切实现的情况下创建Car接口的实例。 汽车.java public abstract class Car {private final Color color;public interface Factory {Car make(Color color);}protected Car(Color color) {this.color color;}public abstract String getModel();public abstract int getPrice(); } 沃尔沃 public final class Volvo extends Car {public Volvo(Color color) {super(color);}public String getModel() { return Volvo; }public int getPrice() { return 10_000; } // USD } 特斯拉 public final class Tesla extends Car {public Tesla(Color color) {super(color);}public String getModel() { return Tesla; }public int getPrice() { return 86_000; } // USD } VolvoFactory.java public final class VolvoFactory implements Car.Factory {public Car make(Color color) { return new Volvo(color); } } TeslaFactory.java public final class TeslaFactory implements Car.Factory {public Car make(Color color) { return new Tesla(color); } } CarTrader.java public final class CarTrader {private Car.Factory factory;private int cash;public void setSupplier(Car.Factory factory) {this.factory factory;}public Car buyCar(Color color) {final Car car factory.make(color);cash car.getPrice();return car;} } Main.java ...final CarTrader trader new CarTrader();trader.setSupplier(new VolvoFactory());final Car a trader.buyCar(Color.BLACK);final Car b trader.buyCar(Color.RED);trader.setSupplier(new TeslaFactory());final Car c trader.buyCar(Color.WHITE);... 您可能尚未注意到的一件事是大多数这些组件在Java 8及更高版本中都是多余的。 由于工厂接口可能被视为FunctionalInterface我们不需要工厂因此我们只需指定实现类的构造函数作为方法参考即可 汽车.java public abstract class Car {private final Color color;FunctionalInterfacepublic interface Factory {Car make(Color color);} } Main.java ...trader.setSupplier(Volvo::new);trader.setSupplier(Tesla::new);... 注意实现类Volvo和Tesla不需要更改。 这两个工厂现在都可以拆除了剩下的就是更为具体的系统 对于像这样的简单示例根本不需要工厂接口。您也可以使CarTrader接受FunctionColor Car 。为工厂指定接口的优势在于两者都更容易实现理解它允许您更改构造函数的参数而无需更改使用工厂的代码。 翻译自: https://www.javacodegeeks.com/2016/02/make-factories-beautiful.html
http://www.huolong8.cn/news/129730/

相关文章:

  • o2o网站建设公司重庆房产信息网官网
  • 模板网站区别在线生成固定悬浮导航的工具网站
  • 企业网站源码带后台如何制作一款app软件多少钱
  • 温州网站设计服务做男装比较好的网站
  • 如何建设钓鱼网站麒麟seo软件
  • 长春火车站什么时候通车营销型 网站开发
  • 创业网站建设怎么样企业手机网站建设公司
  • 福建省幕墙建设网站要报备吗亚洲高清砖码区2022幼童
  • 免费建站平台0免费域名怎么做网站
  • php微信微网站怎么做松岗建设网站
  • 什么企业适合做网站网站阵地建设
  • 向公司申请请做网站wordpress设置文章期限
  • 贵州网站推广电话邯郸最新消息
  • 珠海网站建设哪个好薇陕西省建设监理协会查询官方网站
  • 炫酷的网站设计申请个人网站
  • 网站建设付款方式wordpress 微软雅黑字体
  • 长沙做公司网站网页制作实训总结800字
  • 摄影师做展示的网站哪个网站是用php写的
  • 网站建设的功能定位帝国网站如何做中英文切换
  • 创业做网站邯郸互联网公司
  • 连江网站建设做一个公司网站流程 由ui设计
  • 做网站su产品展示网站模板php
  • 如何做局域网网站门户网站开发维护合同范本
  • 北京市建设教育协会网站直播做网站
  • 免费咨询皮肤科专家网站改版与优化协议书
  • 建设网站注意实现北京网站建设公司排行
  • 北京海淀网站制作安阳网站建设开发
  • 域名查询注册官网seo搜索引擎优化费用
  • 电子商务网站设计案例现在c 做网站用什么
  • 建设网站的实验目的网络服务运营商