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

简易个人网站模板东莞推广宣传短视频

简易个人网站模板,东莞推广宣传短视频,山东省住房与建设厅网站首页,建立网站看病的经济问题抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。 由于工厂方法模式中的每个工厂只生产一类产品&…

抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。

由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产。

sqlServerFactory和AccessFactory都能查询部门表和用户表,选择sqlServerFactory采用sqlserver获取数据,选择AccessFactory采用Access获取数据。

类比上图,猫工厂和狗工厂都能产生动物和食物,选择猫工厂产生猫和猫粮,选择狗工厂产生狗和狗粮。 

首先,定义产品的接口:
// 抽象产品A:动物
public interface Animal {void makeSound();
}// 抽象产品B:食物
public interface Food {void eat();
}然后,创建实现这些接口的具体产品类:
// 具体产品A1:狗
public class Dog implements Animal {@Overridepublic void makeSound() {System.out.println("汪汪汪");}
}// 具体产品A2:猫
public class Cat implements Animal {@Overridepublic void makeSound() {System.out.println("喵喵喵");}
}// 具体产品B1:狗粮
public class DogFood implements Food {@Overridepublic void eat() {System.out.println("吃狗粮");}
}// 具体产品B2:猫粮
public class CatFood implements Food {@Overridepublic void eat() {System.out.println("吃猫粮");}
}
接下来,定义抽象工厂接口,其中包含创建产品的方法:
// 抽象工厂
public interface AnimalFactory {Animal createAnimal();Food createFood();
}
然后,创建实现了抽象工厂接口的具体工厂类:
// 具体工厂A:狗工厂
public class DogFactory implements AnimalFactory {@Overridepublic Animal createAnimal() {return new Dog();}@Overridepublic Food createFood() {return new DogFood();}
}// 具体工厂B:猫工厂
public class CatFactory implements AnimalFactory {@Overridepublic Animal createAnimal() {return new Cat();}@Overridepublic Food createFood() {return new CatFood();}
}
最后,客户端代码使用具体工厂类来创建产品对象,并调用它们的方法:
public class Client {public static void main(String[] args) {// 创建狗工厂AnimalFactory dogFactory = new DogFactory();Animal dog = dogFactory.createAnimal();Food dogFood = dogFactory.createFood();dog.makeSound(); // 输出:汪汪汪dogFood.eat(); // 输出:吃狗粮// 创建猫工厂AnimalFactory catFactory = new CatFactory();Animal cat = catFactory.createAnimal();Food catFood = catFactory.createFood();cat.makeSound(); // 输出:喵喵喵catFood.eat(); // 输出:吃猫粮}
}

如果增加一个牛,需要添加牛工厂,牛,牛粮等才能实现。

这样做改动太大,太过笨拙,选择配置文件+反射+简单工厂+抽象工厂来实现

 DataAccess类,用反射技术,取代IFactory、SqlserverFactory和AccessFactory。

sqlserver可采用读取配置文件的方式赋值。确定db后利用反射加载相应的类去除if,解除分支判断带来的耦合

 

http://www.yayakq.cn/news/183408/

相关文章:

  • 猪八戒网网站设计wordpress文章写html代码
  • 网站域名有版权吗房产公司网站建设方案
  • 如何做网站定位建设部网站监理工程师查询
  • 河南住房和城乡建设厅职称网站网页微信文件传输助手
  • 竞拍网站建设阿里巴巴官网首页1688
  • 企业营销型网站的内容莱芜环保网站
  • 网站推广和精准seo网站和网页的概念
  • 网站排名大全wordpress如何创建导航栏
  • 做网站商城需要多少钱淘宝客手机网站开发
  • 石景山网站开发专业网站设计公司和普通设计公司的区别
  • 郑州哪个妇科医院检查比较好单页面seo优化
  • 小型网站制作如何用社交网站开发客户
  • 网站开发商务合同赣州招标网官网
  • 桐庐县网站建设miya1173跳转接口
  • 鞍山高新区网站2018年网站建设的数据
  • 高端网站设计工作室网站制作技术支持
  • 在那个网站可买做鞋子的羊毛贵州省高层建筑信息平台
  • wordpress中文前端成都seo顾问
  • 湖南网站备案需要多久陕西省交通建设集团公司招聘网站
  • 济南网站app开发鞍山网站开发公司
  • 做网站关键字做网站要排版吗
  • 看书网站排名wordpress the_title
  • 简单网站html模板下载地址wordpress手机 apk
  • 淘宝客如何新建网站wordpress弹出式插件
  • 做网站有流量就有收入吗网站建设有什么需求分析
  • 网站备案 注册用户备案过的网站换空间
  • 青岛建站平台百度售后电话人工服务
  • 佛山网站建设的设计原则个人站长网站应该如何定位
  • 形容网站页面做的好的词语中国建设招标信息网站
  • 专业格泰建站临西做网站多少钱