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

内蒙古网站开发口碑营销方案

内蒙古网站开发,口碑营销方案,顺企网宁波网站建设,网站开发用户登录前 登录后本质:实例化对象不用new,用工厂代替,实现了创建者和调用者分离 满足: 开闭原则:对拓展开放,对修改关闭 依赖倒置原则:要针对接口编程 迪米特原则:最少了解原则,只与自己直…

本质:实例化对象不用new,用工厂代替,实现了创建者和调用者分离

满足:

开闭原则:对拓展开放,对修改关闭

依赖倒置原则:要针对接口编程

迪米特原则:最少了解原则,只与自己直接相关的类有关系

简单工厂模式

也被称为静态工厂

public interface Car {void name();
}
public class BWM implements Car{
​@Overridepublic void name() {System.out.println("宝马");}
}
public class DaZhong implements Car{
​@Overridepublic void name() {System.out.println("大众");}
}

public class CarFactory{public static Car getCar(String name){if(name.equals("大众")){return new DaZhong();}else if (name.equals("宝马")){return new BWM();}else{return null;}}
}
public class consumer {public static void main(String[] args) {
​Car car = CarFactory.getCar("大众");car.name();Car car2 = CarFactory.getCar("宝马");car2.name();}
}

总结

将创建对象的任务交给工厂去完成

缺点

不满足开闭原则,如果我们新创建一个车,就需要修改CarFactory的源代码

工厂方法模式

多个工厂对应多个实现类

public interface CarFactory {
​Car getCar();
}
​public class BMWFactory implements CarFactory{@Overridepublic Car getCar() {return new BWM();}
}
​
public class DaZhongFactory implements CarFactory{@Overridepublic Car getCar() {return new DaZhong();}
}

如果我们想要创建新的车对象,只要创建对应的车工厂即可,无需修改CarFactory的代码

public class Aodi implements Car {@Overridepublic void name() {System.out.println("奥迪");}
}public class AodiFactory implements CarFactory{@Overridepublic Car getCar() {return new Aodi();}
}public class consumer {public static void main(String[] args) {Car car = new DaZhongFactory().getCar();car.name();Car car1 = new BMWFactory().getCar();car1.name();Car car2 = new AodiFactory().getCar();car2.name();}
}

抽象工厂模式

围绕一个超级工厂生产工厂,该工厂又称为其他工厂的工厂 (抽象的抽象)

public interface IProductFactory {IPhoneProduct iphoneproduct();IRouterProduct irouterproduct();
}

具体的产品工厂

public class XiaomiFactory implements IProductFactory{@Overridepublic IPhoneProduct iphoneproduct() {return new XiaomiPhone();}@Overridepublic IRouterProduct irouterproduct() {return new XiaomiRouter();}
}
public class HuaweiFactory implements IProductFactory{@Overridepublic IPhoneProduct iphoneproduct() {return new HuaweiPhone();}@Overridepublic IRouterProduct irouterproduct() {return new HuaweiRouter();}
}

产品功能

public interface IPhoneProduct {void open();void close();
}
public interface IRouterProduct {void open();void close();}

具体实现

public class XiaomiPhone implements IPhoneProduct{@Overridepublic void open() {System.out.println("小米手机开机");}@Overridepublic void close() {System.out.println("小米手机关机");}
}
public class HuaweiPhone implements IPhoneProduct{@Overridepublic void open() {System.out.println("华为手机开机");}@Overridepublic void close() {System.out.println("华为手机关机");}
}
public class XiaomiRouter implements IRouterProduct{@Overridepublic void open() {System.out.println("小米路由器开机");}@Overridepublic void close() {System.out.println("小米路由器关机");}
}
public class HuaweiRouter implements IRouterProduct{@Overridepublic void open() {System.out.println("华为路由器开机");}@Overridepublic void close() {System.out.println("华为路由器关机");}
}

测试

public class consumer {public static void main(String[] args) {//先创建工厂System.out.println("==========小米==========");IPhoneProduct product = new XiaomiFactory().iphoneproduct();product.open();product.close();IRouterProduct irouterproduct = new XiaomiFactory().irouterproduct();irouterproduct.open();irouterproduct.close();System.out.println("===========华为==========");IPhoneProduct iphoneproduct = new HuaweiFactory().iphoneproduct();iphoneproduct.open();iphoneproduct.close();IRouterProduct irouterproduct1 = new HuaweiFactory().irouterproduct();irouterproduct1.open();irouterproduct1.close();}
}

 

http://www.khdw.cn/news/62001.html

相关文章:

  • 建设通破解版seo优化网站推广专员招聘
  • 网站降权查下软文网站推广
  • 真人性做爰网站优化师是做什么的
  • 有源代码怎么做网站张家口网站seo
  • 网站建设目的及功能定位找网站公司制作网站
  • 长春网站设计百度点击器找名风
  • 广州微信网站建设咨询账号权重查询入口
  • 深圳工业设计机构简述seo
  • 做盗版频网站推广普通话绘画
  • 免费ppt模板下载熊猫持续优化完善防控措施
  • 麻涌镇做网站河南网站建设报价
  • 二级建造师建设云网站专业的seo外包公司
  • 新北方app下载关键词是网站seo的核心工作
  • 做分销网站多少钱谷歌优化排名公司
  • 深圳网站建设哪家公司便宜青岛seo关键词优化排名
  • 今天国内重大新闻seo快速优化软件网站
  • wordpress 小工具 插件高中同步测控优化设计答案
  • 电子商务网站开发设计案例—易趣网电子商务网站营销型网站特点
  • 怎么使用vs2017做网站微信广告朋友圈投放
  • 网站优化推广平台深圳全网推广托管
  • 一块钱购物网站哈尔滨seo关键词优化
  • 网页设计师初学者工资广州seo关键词优化费用
  • 东莞市视频直播网站开发保定网站建设方案优化
  • 北京市家装公司排行榜杭州seo优化公司
  • 网站建设实验报告模板app开发平台
  • 弋阳网站建设制作如何建立自己的网站
  • 衡水网站建设推广网站建设哪家公司好
  • 温州做网站建设多少钱西安全网优化
  • 三峡建设委员会网站怎么在百度上推广
  • 长沙麓谷建设发展有限公司网站西安发布最新通知