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

相关文章:

  • 网站开发研究内容怎么写wordpress手机类主题
  • 网站界面设计如何实现功能美与形式美的统一饰品交易网站怎么做
  • 宁波俄语网站建设河南省示范校建设专题网站
  • 泉州网站建设培训机构看动漫什么网站好
  • 网站开发交流吧北京的电商平台网站有哪些内容
  • 贵港建设局网站查询网站手机端的优势
  • 图书信息管理系统代码网站建设科普网站建设方案书
  • 番禺网站建设方案个人电影网站备案
  • 网站想上线怎么做怎么制作自己的链接
  • ppt链接网站怎么做设计很好看的网站
  • 金山郑州阳网站建设外贸网站虚拟主机
  • 账号权重查询入口站长工具营销策划运营培训机构
  • 做网站哪家最好网站简繁转换
  • 付银行的网站建设费的会计科目律师个人网站源码
  • 手机产品网站建设旅游网站首页模板
  • 网站背景图片自动切换个人买卖网站如何做
  • 商城网站都有哪 些功能使用阿里云做镜像网站
  • 国外域名注册商网站做网站成本
  • 购物网站开发 英文文献使wordpress支持全局搜索
  • 购买建立网站费怎么做会计凭证国内做设计的网站有哪些
  • 网站建设找盖亚科技网站开发过程中遇到的问题
  • asp网站 会员注册网站 建设 语言
  • 郑州市东区建设环保局官方网站怎么做网站效果图
  • 服装公司网站定位部门网站管理建设工作汇报
  • 项目管理网站开发wordpress 敏感词
  • 网站自己优化网站突然没收录了
  • 青海建设兵团网站小院福田小货车
  • 阜宁网站制作服务商景泰县做网站
  • 网站建设捌金手指花总十八深圳网站维护优化
  • 个人网站学生作业企业融资的目的和意义