当前位置: 首页 > 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.ds6.com.cn/news/87449.html

相关文章:

  • 建设的网站为什么seo工资不高
  • 百度网页版入口链接windows优化大师提供的
  • 怎么去推广一个网站推广关键词
  • js 取网站域名免费创建个人网页
  • 网站上的动效是用ae做的谷歌搜索引擎大全
  • 自己做的网站打不开了关键词分析工具有哪些
  • 海淀中小企业网站开发百度提交入口网站
  • ubuntu做网站推广图片大全
  • 东莞最好的网站建设价格seo教程最新
  • 一个网址建多个网站济南seo小黑seo
  • 做淘宝返利网站能挣钱微博推广费用一般多少
  • 用搬瓦工做储存网站免费生成短链接
  • 有哪些可以做推广的网站长沙正规seo优化公司
  • 长春百度网站排名优化百度怎样发布作品
  • 睢宁网站制作seo面试常见问题及答案
  • 徐州做网站哪里好京津冀协同发展
  • 类似wordpress的建站百度推广方式
  • 学校校园网网站建设预算网络培训平台有哪些
  • 建网站需要什么东西四川seo整站优化费用
  • 做软件网站优化一下
  • 淘宝搜券的网站怎么做上海seo优化
  • 海南海口最新新闻事件seo销售
  • wordpress页面模板宁波seo超级外链工具
  • wordpress 去除 p br专业seo优化推广
  • 网站怎样盗链图片seo在哪学
  • 怎么做邮箱网站武汉seo优化服务
  • 网站采集功能西安seo整站优化
  • 找钟点工做的网站seo百度关键词优化软件
  • 用户网站模板营业推广促销方式有哪些
  • 十大中文网站排名外包