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

wordpress豆瓣插件北京seo实战培训班

wordpress豆瓣插件,北京seo实战培训班,网站设计与网站建设,积分网站运营建设投标书工厂的作用相当于帮助我们完成实例化的操作。 优势1#xff1a;一般在代码中#xff0c;实例化一个类A是直接new A#xff08;#xff09;#xff0c;假如类A是一个完全独立的类#xff0c;没有相似类#xff0c;则没有必要使用工厂模式#xff0c;直接new A#xff…工厂的作用相当于帮助我们完成实例化的操作。 优势1一般在代码中实例化一个类A是直接new A假如类A是一个完全独立的类没有相似类则没有必要使用工厂模式直接new A没有毛病。但是如果类A本身有一个相似类B而在实际使用类A或者类B的实例时如果关心的是类A与类B的共同部分则工厂模式就可以体现出它的优势。 比如调用数据库所有的数据库都有插入操作insert: interface DatabaseOperate{     public void insert(Mydata data){     } } 然而不同的数据库的具体实现方法是不同的 class MySQLOperate implements DatabaseOperate{     Override     public void insert(Mydata data){         ...     } } class OracleOperate implements DatabaseOperate{     Override     public void insert(Mydata data){         ...     } } 然而真正使用插入操作的时候我们需要关心的并不是插入操作如何具体实现我们只需要对数据库进行插入操作就行了所以使用工厂类对具体实现方法进行整合 class MyDBFactory{          public static int MySQL1;     public static int Oracle2;     public static int DBType MySQL;     public static DatabaseOperate getDatabase(){         if(DBTypeMySQL){             return new MySQLOperate();         }                  if(DBTypeOracle){             return new OracleOperate();         }     } } 这样我们在调用的时候就可以忽略具体实现方法而直接进行调用。 void insert(Mydata data){     DatabaseOperate operate MyDBFactory.getDatabase();     operate.insert(data); } 在这里工厂模式相当于实现了下面的代码。 class MySQLOperate{     public void insert(Mydata data){         ...     } } void inert(Mydata data){     MySQLOperate opertate new MySQLOperate();     operate.insert(data); } 如果这样编写在进行数据库切换时需要重新写insert()方法尤其是在很多地方用到与insert()方法相同的操作时要在很多地方new MySQLOperate这个类修改起来跟家麻烦。 这个优势有两个应用场景 一个是上述的例子可以动态的使用代码只需要修改部分配置。 还有一个是在一个大类需要很多小类的时候每种小类负责完成一部分工作但是有不同的完成方法大类只需要设置条件工厂自动返回合适的小类。 优势2初始化封装。在需求一个类的实例时假如需要一个相同属性的实例每次初始化的操作是一样的用工厂模式可以对初始化进行封装简化操作。 比如有一个类Car class Car{     private String brand;     private double price;     public Car(String brand,double price){         this.brandbrand;             this.priceprice;         } } 我们在实例化一个Audi的时候赋值brand为Audiprice为30000 void createCar(){     Car car1 new Car(Audi,300000);     Car car2 new Car(Audi,300000); } 每次要用到Audi这个实例的时候都要给定两个初始化参数Audi和30000然而如果确定了brand为Audi的话price随之确定为300000每次实例化的时候要输入多个 这里是两个参数会显得很麻烦。 所以我们这里使用工厂模式 public CarFactory {     private MapString,Car cars new HashMap();       static {         cars.put(Audi,new Car(Audi,300000));     }          public static Car getCar(String name) {         return cars.get(name);     }   } 然后我们在实例化Audi时只需要输入他的名称就可以得到参数完整的Audi void createCar(){     Car car1 CarFactory.getCar(Audi);     Car car2 CarFactory.getCar(Audi); } 这样大大简化了实例化时的初始化设置。 ---------------------  作者zinsserzc  来源CSDN  原文https://blog.csdn.net/qq_28859325/article/details/60580578  版权声明本文为博主原创文章转载请附上博文链接
http://www.yutouwan.com/news/492479/

相关文章:

  • 如何创建网站详细步骤天津先进网站建设指导
  • 动易的网站系统金融网站源码 asp
  • 社保网站上怎么做减员拓者设计吧论坛
  • 建设银行开通网银网站seo工作职责
  • 吕梁建站公司高端网站建设公司好吗
  • wordpress站点后台网站做拓扑图编辑
  • 怎么做电影网站不违法吗青县网站建设公司
  • 镇平微网站开发万网空间官方网站
  • 注册的空间网站域名回收网站
  • 荣成市城乡建设局网站免费的网站给一个
  • 建网站需要哪些资质门户网站建设运行环境要求
  • 网站如何做vip等级心理医院网站优化服务商
  • 静态网站跟动态网站建设学校培训学校
  • 百度推广 帮做网站吗网站开发与网页设计大作业
  • 做网站需要多少钱 网络服务北京做网站便宜的公司
  • 宁波市做网站安徽股票配资网站建设
  • 建设银行个人网银网站龙岩新罗区
  • 织梦系统网站搭建教程淮南查查论坛
  • 怎么建设一个公司网站做文案图片上什么网站
  • 青岛网站建设方案深圳网络推广深圳网
  • net服装网站建设企业邮箱app下载
  • 网站开发自我介绍代码什么是软文推广
  • 做T恤卖网站网站项目设计具体方案
  • 可以做笔试面试题的网站网页编辑器安卓
  • 太原php网站开发开发平台价格
  • 为耐克做品牌推广的网站仿站工具下载后咋做网站
  • 西宁城东区建设局公租房网站wordpress通知邮件美化
  • qq空间网站wordpress数据库忘记了
  • 网站建设开发流程做网站是用wordpress还是DW
  • php网站投票源码公司网站换服务器怎么做