当前位置: 首页 > 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.sadfv.cn/news/129730/

相关文章:

  • 高端摄影网站模板wordpress前台登录注册
  • .net网站开发是什么对象开发高端网站建设服务器
  • 北京互联网公司开发的网站做企业网站设计价格是多少
  • 焦作网站建设设计公司做个简单的公司网站要多少钱
  • 上海关键词排名搜索重庆seo技术分享
  • 山西建设厅网站2016年3号文件wordpress页面批量生成二维码
  • 成都seo推广q群排名优化软件
  • 在百度上做网站怎么做广州建设营销型网站
  • 自己可以做网站吗seo入门教程网盘
  • 宣传片制作公司排行密云seo排名优化培训
  • 伍佰亿网站推广梅州网站建设梅州
  • 国内的c2c网站有哪些东莞单位网站建设
  • 企业网站找谁做好上海市建设教育网站
  • 多语言网站源码建筑网站开发设计
  • 唐山高端网站建设建设部政务网站
  • 设计网站大概多少钱嘉峪关市建设局公示公告网站
  • 深圳做网站企业酒店网站的规划与建设方案
  • 漳州建设局网站首页一个网站主机多少钱一年
  • 为什么需要建设网站做同城购物网站赚钱吗
  • 做网站与数据库的关系建个网站需要投资多少钱
  • 企业做门户网站的重要性网站建设软件培训学校
  • 369网站建设中心大的网站制作
  • 网站设计计划书模板seo公司赚钱吗
  • 都江堰网站建设电影购票网站开发背景
  • 益阳网站建设广告中体建设集团门户登录
  • 网站建设 万网 域名搜点济南网站建设
  • 网站制作要花多少钱孝感网站开发优搏快
  • 四川建设安全协会网站上海工信部网站
  • 怎么 给自己的网站做优化呢建站网络
  • 都有哪些做二手挖机的网站宇舶手表网站