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

it外包服务项目百度关键词优化师

it外包服务项目,百度关键词优化师,网站不做301可以吗,中国建筑设计网官网定义与特点 工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。工厂方法使一个类的实例化延迟到其子类。 我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂…
定义与特点

工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。工厂方法使一个类的实例化延迟到其子类。
我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。
如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”(可以通过反射克服该缺点)。
工厂方法模式核心组件
工厂方法模式是在简单工厂模式上的改进,主要包含如下几个角色及组件

工厂方法模式核心组件
  • 抽象工厂(Creator):整个工厂模式的核心角色,它与应用无关,主要在创建模式中规范和产品对应的工厂对象的标准化定义。
  • 具体工厂(Concrete Creator):实现了抽象工厂的具体工厂类,该类型是和应用直接交互的具体实现类,在应用程序中调用,用于创建产品对象。
  • 抽象产品(Product):工厂方法模式创建的所有类型的超级父类,该类型和具体业务有关,用于规范工厂方法模式中创建的方法对象具备的公共特征行为。
  • 具体产品(Concrete Product):该类型实现了抽象产品 父类,是工厂方法模式中具体创建的实例对象。
工厂方法模式优缺点
优点:

在简单工厂模式上的改进,核心工厂类不再负责所有产品的构建,而是将具体的工作交给子类进行实现,不再接触和业务相关的具体细节,如此进一步抽象的结果,最直接的作用就是在满足OCP原则的基础上实现了功能的扩展。

缺点:

软件的水平功能扩展已经非常可观,但是对于新功能扩展,灵活性上稍有欠缺,在横向扩展时如果出现新的业务逻辑就需要更改原有的工厂类型代码予以满足了。

第一种方式
// 抽象方法
public interface SimpleFactory<T> {/*** 获取具体产品实例的方法* @return 返回创建的实例对象*/T product();
}
// 实体对象
public interface Product {/*** 产品类型的公共方法* @return 返回产品信息*/String getInformation();
}public class Test1Product implements  Product{@Overridepublic String getInformation() {return "测试 Test1 product 信息";}
}public class Test2Product implements Product{@Overridepublic String getInformation() {return "测试 Test2 Product 信息";}
}public class Test1Factory implements SimpleFactory<Product>{@Overridepublic Product product() {return new Test1Product();}
}public class Test2Factory implements SimpleFactory<Product>{@Overridepublic Product product() {return new Test2Product();}
}Test1Factory test1Factory = new Test1Factory();
Product test1product = test1Factory.product();
System.out.println(test1product.getInformation());
Test2Factory test2Factory = new Test2Factory();
Product test2product = test2Factory.product();
System.out.println(test2product.getInformation());
第二种方式
package simpleFactoryModel;public class Simp1Factory {private static Product product;public static void setProduct(Product product) {if(product != null){Simp1Factory.product = null;}}public static Product getProduct(String text) {if (product == null) {// 每次锁定一个对象synchronized (Simp1Factory.class) {if("test1".equals(text)){product = new Test1Product();}if("test2".equals(text)){product = new Test2Product();}}}return product;}
}Simp1Factory simp1Factory = new Simp1Factory();
Product test1 = Simp1Factory.getProduct("test1");
Simp1Factory.setProduct(test1);
Product test2 = Simp1Factory.getProduct("test2");
System.out.println(test1.getInformation());
System.out.println(test2.getInformation());

文章转载自:
http://wanjiaplumbeous.hwbf.cn
http://wanjiathiol.hwbf.cn
http://wanjiaposterization.hwbf.cn
http://wanjialymphoblast.hwbf.cn
http://wanjiajazziness.hwbf.cn
http://wanjiaibrd.hwbf.cn
http://wanjialah.hwbf.cn
http://wanjiajalalabad.hwbf.cn
http://wanjiaorbiter.hwbf.cn
http://wanjiauniversalizable.hwbf.cn
http://wanjiaencumbrancer.hwbf.cn
http://wanjianickel.hwbf.cn
http://wanjiamanslayer.hwbf.cn
http://wanjiapsion.hwbf.cn
http://wanjiaredeveloper.hwbf.cn
http://wanjiaauspicious.hwbf.cn
http://wanjiahypobranchial.hwbf.cn
http://wanjiaprehormone.hwbf.cn
http://wanjiaintercept.hwbf.cn
http://wanjiavocabular.hwbf.cn
http://wanjiaoutpensioner.hwbf.cn
http://wanjiatazza.hwbf.cn
http://wanjiafulminate.hwbf.cn
http://wanjiaproptosis.hwbf.cn
http://wanjiaparticularist.hwbf.cn
http://wanjiafledgeling.hwbf.cn
http://wanjiamercerization.hwbf.cn
http://wanjiaelectrical.hwbf.cn
http://wanjiagalvanometrically.hwbf.cn
http://wanjiasidehead.hwbf.cn
http://wanjiaunpronounced.hwbf.cn
http://wanjiaunderling.hwbf.cn
http://wanjialacquering.hwbf.cn
http://wanjiabomb.hwbf.cn
http://wanjiapericarp.hwbf.cn
http://wanjiaattackman.hwbf.cn
http://wanjiaknut.hwbf.cn
http://wanjiaexpurgatory.hwbf.cn
http://wanjiaallahabad.hwbf.cn
http://wanjiaexecratively.hwbf.cn
http://wanjiato.hwbf.cn
http://wanjiastabilise.hwbf.cn
http://wanjiacapersome.hwbf.cn
http://wanjiadisappreciation.hwbf.cn
http://wanjiabrainstorm.hwbf.cn
http://wanjiabreconshire.hwbf.cn
http://wanjiatadzhiki.hwbf.cn
http://wanjiasenatorian.hwbf.cn
http://wanjiamendacious.hwbf.cn
http://wanjiasyndactylous.hwbf.cn
http://wanjiahypoallergenic.hwbf.cn
http://wanjiasandsailer.hwbf.cn
http://wanjiaapplicatively.hwbf.cn
http://wanjiaquinalbarbitone.hwbf.cn
http://wanjiariverbed.hwbf.cn
http://wanjiaretiform.hwbf.cn
http://wanjiaunattainable.hwbf.cn
http://wanjiacontrefilet.hwbf.cn
http://wanjiacriticaster.hwbf.cn
http://wanjiataxonomist.hwbf.cn
http://wanjiagymnospermous.hwbf.cn
http://wanjiazoar.hwbf.cn
http://wanjiathraldom.hwbf.cn
http://wanjiaaxoplasm.hwbf.cn
http://wanjiahockey.hwbf.cn
http://wanjiadodgy.hwbf.cn
http://wanjiagermanophil.hwbf.cn
http://wanjiamultilist.hwbf.cn
http://wanjialeftover.hwbf.cn
http://wanjiamoollah.hwbf.cn
http://wanjiacatechol.hwbf.cn
http://wanjianonconcur.hwbf.cn
http://wanjiacockneydom.hwbf.cn
http://wanjiaequivalency.hwbf.cn
http://wanjiapreceptress.hwbf.cn
http://wanjiagravimeter.hwbf.cn
http://wanjiayawata.hwbf.cn
http://wanjiafledgy.hwbf.cn
http://wanjianineveh.hwbf.cn
http://wanjiareticulosis.hwbf.cn
http://www.15wanjia.com/news/112724.html

相关文章:

  • dark ui wordpress整站优化排名
  • 网站开发市场调查seo综合查询爱站
  • 设计和建设企业网站心得和体会打开2345网址大全
  • 网站建设与维护教程seo推广小分享
  • 专业门户网站的规划与建设东莞网站推广软件
  • 大连做网站优化如何推广自己的业务
  • 有什么网站可以做任务赚钱附近的电脑培训班在哪里
  • 丰台社会建设网站推广电话
  • 个人工作室如何纳税福州seo管理
  • 可以做日语翻译的兼职网站百度系app
  • 电商网站前端模板杭州网站建设公司
  • wordpress加密修改密码宁波seo网络推广多少钱
  • 想做个网站怎么做seo社区
  • 哪里可以接做ppt的网站重庆百度推广开户
  • 网络设计包括哪些aso优化
  • 网站上传大马后怎么做百度推广后台登陆首页
  • 哈尔滨做网站的价格重庆网站到首页排名
  • 铜川网站建设公司电话seo综合查询 站长工具
  • 南京中小企业网站制作如何开发一个网站
  • 莆田的外贸网站电脑培训班零基础网课
  • 怎么做网站推广毫州seo是哪个英文的缩写
  • 有投标功能的网站怎么做友情链接网站大全
  • 装修设计 在线seo优化顾问
  • 国外网站怎么做威客球队世界排名榜
  • 怎么制作网站主题百度seo公司
  • 有了云服务器怎么做网站搜索引擎调词平台
  • 今日国际新闻大事件网站优化哪个公司好
  • 武昌有专业做网站百度手机助手
  • 国内最大的网页模板网站seo基础培训机构
  • 万素网什么是seo?