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

做那个的网站谁有成都seo优化公司

做那个的网站谁有,成都seo优化公司,企业信用网官网,腾龙官方网站做号软件目录 模式定义实现方式简单工厂工厂方法主要优点 应用场景源码中的应用 模式定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method 使得一个类的实例化延迟到子类。 实现方式 简单工厂 以下示例非设计模式,仅为编码的一种规…

目录

  • 模式定义
  • 实现方式
    • 简单工厂
    • 工厂方法
    • 主要优点
  • 应用场景
  • 源码中的应用

模式定义

定义一个用于创建对象的接口,让子类决定实例化哪一个类。
Factory Method 使得一个类的实例化延迟到子类。
在这里插入图片描述

实现方式

简单工厂

以下示例非设计模式,仅为编码的一种规范

public class FactoryMethod {public static void main(String[] args) {Application application = new Application();Product product = application.getObject("0");product.method1();}
}interface Product{void method1();
}class ProductA implements Product{public void method1(){System.out.println("ProductA.method1 executed.");}
}class ProductB implements Product{public void method1(){System.out.println("ProductB.method1 executed.");}
}class SimpleFactory{public static Product createProduct(String type){if ("0".equals(type)){return new ProductA();}else if ("1".equals(type)){return new ProductB();}else {return null;}}
}class Application {private Product createProduct(String type){return SimpleFactory.createProduct(type);}Product getObject(String type){Product product = createProduct(type);return product;}
}

工厂方法

public class FactoryMethod {public static void main(String[] args) {Application application = new ConcreteProductA();Product product = application.getObject();product.method1();}
}interface Product{void method1();
}class ProductA implements Product{public void method1(){System.out.println("ProductA.method1 executed.");}
}class ProductB implements Product{public void method1(){System.out.println("ProductB.method1 executed.");}
}class SimpleFactory{public static Product createProduct(String type){if ("0".equals(type)){return new ProductA();}else if ("1".equals(type)){return new ProductB();}else {return null;}}
}//class Application {
//    private Product createProduct(String type){
//        return SimpleFactory.createProduct(type);
//    }
//
//    Product getObject(String type){
//        Product product = createProduct(type);
//        return product;
//    }
//}abstract class Application {abstract Product createProduct();Product getObject(){Product product = createProduct();return product;}
}// 工厂方法具体实现类
class ConcreteProductA extends Application{@OverrideProduct createProduct() {// 。。。业务逻辑缺省return new ProductA();}
}class ConcreteProductB extends Application{@OverrideProduct createProduct() {// 。。。业务逻辑缺省return new ProductB();}
}

主要优点

  1. 将具体产品和创建者解耦
  2. 符合单一职责原则
  3. 符合开放封闭原则

应用场景

  1. 抽象:当你不知道该使用对象的确切类型的时候。
  2. 扩展:当你希望为库或框架提供扩展其内部组件的方法时。

源码中的应用

// java api
// 静态工厂方法

Calendar.getInstance()
java.text.NumberFormat.getInstance()
java.util.ResourceBundle.getBundle()

// 工厂方法

java.net.URLStreamHandlerFactory
javax.xml.bind.JAXBContext.createMarshaller

创作不易,点赞、关注、收藏
创作不易,点赞、关注、收藏
创作不易,点赞、关注、收藏
请添加图片描述

http://www.wangmingla.cn/news/25550.html

相关文章:

  • 怎样做免费网站会员生成关键词的软件免费
  • 平度建设局网站什么是百度竞价排名服务
  • 网络营销渠道管理seo是什么学校
  • 深圳建设局投标网站aso排名
  • 建设社区网站有什么借鉴之处seo优化论坛
  • 百度公司网站怎么建设网站友情链接有什么用
  • ecshop网站标题动态网站的制作与设计
  • 找个网站看看seo网站内容优化有哪些
  • 想做一个网站平台怎么做的交换友情链接的平台有哪些
  • 网站被挂马无法访问吉林关键词优化的方法
  • 网站404页面在哪查看网站策划方案范文
  • 网站设计排名北京友情链接网站
  • 石家庄栾城区建设局网站软件开发app制作
  • 乌镇网站开发文档优化关键词软件
  • 化妆品网站建设社会可行性报告做网站公司排名
  • 做网站维护是什么岗位国内的搜索引擎排名
  • 小游戏网站代码网络广告文案
  • 营销案例分析短视频seo系统
  • 网站落地页怎么做seo实战论坛
  • 竞价网络推广培训南宁网站seo排名优化
  • 台州找人做网站搜索引擎优化seo专员招聘
  • 沈阳网站做西安网
  • 简单的购物网站设计晨阳seo服务
  • 网站banner的尺寸网址查询工具
  • qq空间网站域名怎么做的网站优化企业排名
  • 做软件开发的哪个招聘网站比较靠谱域名买卖交易平台
  • 网站正能量大全网站关键词在线优化
  • 优质的网站建设推广seo做得比较好的企业案例
  • 海南网站建设推广引流app
  • 东莞网站优化什么方法中国新冠疫情最新消息