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

天津品牌网站建设哪个好商城网站建设资讯

天津品牌网站建设哪个好,商城网站建设资讯,外贸产品网站建设,怎么用lamp做网站分类#xff1a;简单工厂模式#xff08;静态工厂模式#xff09;#xff0c;工厂方法模式#xff0c;抽象工厂模式。 这种设计模式也是 Java 开发中最常见的一种模式#xff0c;它的主要意图是定义一个创建对象的接口#xff0c;让其子类自己决定实例化哪一个工厂类简单工厂模式静态工厂模式工厂方法模式抽象工厂模式。 这种设计模式也是 Java 开发中最常见的一种模式它的主要意图是定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类工厂模式使其创建过程延迟到子类进行。 简单说就是为了提供代码结构的扩展性屏蔽每一个功能类中的具体实现逻辑。让外部可以更加简单的只是知道调用即可同时这也是去掉众多ifelse的方式。当然这可能也有一些缺点比如需要实现的类非常多如何去维护怎样减低开发成本。但这些问题都可以在后续的设计模式结合使用中逐步降低。 要使用工厂模式的最本质的参考标准 封装变化创建逻辑有可能变化封装成工厂类之后创建逻辑的变更对调用者透明。 代码复用创建代码抽离到独立的工厂类之后可以复用。 隔离复杂性封装复杂的创建逻辑调用者无需了解如何创建对象。 控制复杂度将创建代码抽离出来让原本的函数或类职责更单一代码更简洁。 简单工厂模式 简单工厂模式包含如下三种角色 抽象产品定义了产品的规范描述了产品的主要特性和功能。 具体产品实现或者继承抽象产品的子类。 具体工厂提供了创建产品的方法使用者通过该方法来获取产品。 核心代码 /** * 创建一个抽象类抽象子类的共有方法 * 创建子类实现父类的抽象方法 * 在工厂方法中根据类型创建不同的具体对象 **/ public class SimpleCoffeeFactory {// 根据type判断类型实例化并返回对应对象public Coffee createCoffee(String type) {Coffee coffee null;if(americano.equals(type)) {coffee new AmericanoCoffee();} else if(latte.equals(type)) {coffee new LatteCoffee();}return coffee;} } 工厂处理创建对象的细节一旦有了工厂后期如果需要对象直接从工厂中获取即可。这样也就解除了和实现类的耦合但同时又产生了新的耦合。后期如果再添加新的类就必须修改工厂类的代码违反了开闭原则。 也有一部分人将工厂类中的创建对象的功能定义为静态的这个就是静态工厂模式。 工厂方法模式 针对简单工厂模式的缺点使用工厂方法模式就可以完美的解决完全遵循开闭原则。 工厂方法模式FACTORY METHOD是一种常用的类创建型设计模式,此模式的核心精神是封装类中变化的部分提取其中个性化善变的部分为独立类通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色分别是抽象工厂、具体工厂、抽象产品、具体产品。 四个角色 抽象工厂Abstract Factory提供了创建产品的接口调用者通过它访问具体工厂的工厂方法来创建产品。 具体工厂ConcreteFactory主要是实现抽象工厂中的抽象方法完成具体产品的创建。 抽象产品Product定义了产品的规范描述了产品的主要特性和功能。 具体产品ConcreteProduct实现了抽象产品角色所定义的接口由具体工厂来创建它同具体工厂之间一一对应。 核心代码 /** * 抽象工厂 **/ public interface CoffeeFactory {Coffee createCoffee(); }/** * 具体工厂 * * 抽象产品为coffee具体产品为LatteCoffee和AmericanCoffee * 这种工厂模式可以通过不同的具体工厂创建出不同的具体产品 **/ public class LatteCoffeeFactory implements CoffeeFactory {public Coffee createCoffee() {return new LatteCoffee();} }public class AmericanCoffeeFactory implements CoffeeFactory {public Coffee createCoffee() {return new AmericanCoffee();} } 从以上代码可以看到要增加产品类时不需要修改工厂类的代码了这样就解决了简单工厂模式的缺点但要相应地增加工厂类。 工厂方法模式是简单工厂模式的进一步抽象。由于使用了多态性工厂方法模式保持了简单工厂模式的优点而且克服了它的缺点。 优点 在获取对象时只需要知道具体工厂的名称就可以得到对应的对象无须知道具体创建过程在系统增加新的类时只需要添加对应的具体工厂类无须对原工厂进行任何修改满足开闭原则 缺点 每增加一个类就要增加一个对应的具体工厂类增加了系统的复杂度。 抽象工厂模式 抽象工厂模式Abstract Factory Pattern隶属于设计模式中的创建型模式用于产品族的构建。抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口使客户端在不必指定产品的具体情况下创建多个产品族中的产品对象。 工厂模式中的每一个形态都是针对一定问题的解决方案工厂方法针对的是多个产品系列结构而抽象工厂模式针对的是多个产品族结构一个产品族内有多个产品系列。 抽象工厂模式的主要角色如下 抽象工厂Abstract Factory提供了创建产品的接口它包含多个创建产品的方法可以创建多个不同等级的产品。 具体工厂Concrete Factory主要是实现抽象工厂中的多个抽象方法完成具体产品的创建。 抽象产品Product定义了产品的规范描述了产品的主要特性和功能抽象工厂模式有多个抽象产品。 具体产品ConcreteProduct实现了抽象产品角色所定义的接口由具体工厂来创建它 同具体工厂之间是多对一的关系。 代码展示 /** * 抽象工厂 **/ public interface DessertFactory {Coffee createCoffee();Dessert createDessert(); }/** * 具体工厂 **/ public class AmericanDessertFactory implements DessertFactory {public Coffee createCoffee() {return new AmericanCoffee();}public Dessert createDessert() {return new MatchaMousse();} }public class ItalyDessertFactory implements DessertFactory {public Coffee createCoffee() {return new LatteCoffee();}public Dessert createDessert() {return new Tiramisu();} } 如果要加同一个产品族的话只需要再加一个对应的工厂类即可不需要修改其他的类。 优点 当一个产品族中的多个对象被设计成一起工作时它能保证客户端始终只使用同一个产品族中的对象。 缺点 当产品族中需要增加一个新的产品时所有的工厂类都需要进行修改。
http://www.w-s-a.com/news/957741/

相关文章:

  • 网站建设哪个好一些网站内容导出
  • 什么网站的页面做的比较好看网上做平面设计的网站
  • 网站建设单选网站建设学校培训学校
  • 可以做app的网站logo设计在线生成免费标小智
  • 网站变更备案做酒类网站
  • 网站必须要备案吗东莞市非凡网站建设
  • 太原建网站公司网站设计的流程是怎样的
  • 网站开发交易平台北京网站建设的价格低
  • 捷克注册公司网站搜索引擎广告推广
  • 网站的实用性青岛九二网络科技有限公司
  • 广东备案网站网站反链如何做
  • 做网站的实施过程企业建设H5响应式网站的5大好处6
  • ps制作个人网站首页景安搭建wordpress
  • 常德建设网站制作网站建设推广是什么工作
  • 长春服务好的网站建设百度推广话术全流程
  • 做的网站浏览的越多越挣钱基于jsp的网站开发开题报告
  • 好的做问卷调查的网站好网站调用时间
  • 广州微网站建设平台阿里云国外服务器
  • 如何把做好的网站代码变成网页wordpress shortcode土豆 视频
  • 网站改版竞品分析怎么做中山网站建设文化价格
  • 玉林市网站开发公司电话做网站空间 阿里云
  • 南充做网站略奥网络免费的正能量视频素材网站
  • 电子商务网站开发的基本原则汕头网站制作流程
  • 网站访问量突然增加合肥宣传片制作公司六维时空
  • 建设购物网站流程图怎么找网站
  • 阿里云部署多个网站制作小程序网站源码
  • 博罗东莞网站建设网站免费源代码
  • 网站规划与设计范文桂平网站建设
  • 网站备案号密码wordpress邮箱发送信息错误
  • 模板的网站都有哪些关键词搜索工具爱站网