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

都江堰建设局网站高中学校网站模板

都江堰建设局网站,高中学校网站模板,oa系统官网,上海专业优化排名工具一.工厂模式 实现了创建者和调用者的分离。 二.分类 简单工厂模式 用来生产同一等级结构中的任意产品。(对于新增产品,需要修改已有代码。用的最多) 要点: 简单工厂模式也叫静态工厂模式,就是工厂类一般是使用静态方法,通过接收…

一.工厂模式

  • 实现了创建者和调用者的分离。

二.分类

  • 简单工厂模式

    • 用来生产同一等级结构中的任意产品。(对于新增产品,需要修改已有代码。用的最多)
    • 要点: 简单工厂模式也叫静态工厂模式,就是工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。
  • 工厂方法模式

  • 抽象工厂模式

    • 用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

三.要点:

  • 理论上工厂方法模式更优,但实际上,我们一般都使用简单工厂模式。 \color{red}{理论上工厂方法模式更优,但实际上,我们一般都使用简单工厂模式。} 理论上工厂方法模式更优,但实际上,我们一般都使用简单工厂模式。

四.核心本质

  • 实例化对象,用工厂方法代替new操作;
  • 将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。

五.具体实现

  • 1.简单工厂模式

    • 代码实现

      • 类和接口

/*** 车运行的接口*/
public interface Car {void run();
}
/*** 奥迪车运行实现类 */
public class Audi implements Car {@Overridepublic void run() {System.out.println("奥迪在跑。。。");}
}
/*** 比亚迪车运行实现类 */
public class Byd implements Car {@Overridepublic void run() {System.out.println("比亚迪在跑。。。");}
}
      • 简单工厂类1(也称静态工厂)

/*** 简单工厂类1(也称静态工厂)* @author Administrator**/
public class CarFactory {public static Car createCar(String type){if("奥迪".equals(type)){return new Audi();}else if("比亚迪".equals(type)){return new Byd();}else{return null;}}
}
/***  简单工厂类调用* @author admin*/
public static void main(String[] args) {Car c1= CarFactory.createCar("奥迪");Car c2= CarFactory.createCar("比亚迪");c1.run();c2.run();
}
      • 简单工厂类2(也称静态工厂)

/*** 简单工厂类2(也称静态工厂)* @author Administrator**/
public class CarFactory {public static Car createAudi(){return new Audi();	}public static Car createByd(){return new Byd();	}
}
/***  简单工厂类实现* @author admin*/
public static void main(String[] args) {Car c1= CarFactory.createAudi();Car c2= CarFactory.createByd();c1.run();c2.run();
}






  • 2.工厂方法模式

    • 代码实现

      • 类和接口

/*** 车运行的接口*/
public interface Car {void run();
}
/*** 奥迪车运行实现类 */
public class Audi implements Car {@Overridepublic void run() {System.out.println("奥迪在跑。。。");}
}
/*** 比亚迪车运行实现类 */
public class Byd implements Car {@Overridepublic void run() {System.out.println("比亚迪在跑。。。");}
}
      • 工厂方法模式接口

/*** 工厂方法模式接口*/
public interface CarFactory {Car CreateCar();
}
/*** 工厂方法模式接口实现类*/
public class BydFactory implements CarFactory {@Overridepublic Car CreateCar() {return new Byd();}
}
/*** 工厂方法模式接口方法的重写*/
public class AudiFactory implements CarFactory {@Overridepublic Car CreateCar() {return new Audi();}
}
      • 工厂方法模式调用

/*** 方法工厂模式实现类*/
public static void main(String[] args) {//new AudiFactory().CreateCar().run();Car c=new AudiFactory().CreateCar();c.run();		
}






  • 3.抽象工厂模式

    • 代码实现

      • 类和接口

/*** 座椅接口*/
public interface Seat {void massage();
}
/*** 高端座椅*/
class LuxurySeat implements Seat{@Overridepublic void massage() {System.out.println("高端座椅可以按摩。。。。。");}
}
/*** 低端座椅*/
class LowySeat implements Seat{@Overridepublic void massage() {System.out.println("低端座椅不能按摩。。。。。");}
}
/*** 轮胎接口*/
public interface Tyre {void revolve();
}
/*** 高端轮胎*/
class LuxuryTyre implements Tyre{@Overridepublic void revolve() {System.out.println("不会磨损。。。。");}
}
/*** 低端轮胎*/
class LowTyre implements Tyre{@Overridepublic void revolve() {System.out.println("磨损快。。。。。");}
}
/*** 引擎接口*/
public interface Engine {void run();void start();
}
/*** 高端引擎*/
class LuxuryEngine implements Engine{@Overridepublic void run() {System.out.println("速度快。。。。。。");}@Overridepublic void start() {System.out.println("启动快,。。。。。。");}
}
/*** 低端引擎*/
class LowyEngine implements Engine{@Overridepublic void run() {System.out.println("速度慢。。。。。。");}@Overridepublic void start() {System.out.println("启动慢,。。。。。。");}
}
      • 抽象工厂接口和实现类

/*** 汽车工厂*/
public interface CarFactory {Engine createEngine();  //创建引擎Seat createSeat();		//座椅Tyre createTyre();		//轮胎
}
/*** 低端汽车*/
public class LowCarFactory implements CarFactory {@Overridepublic Engine createEngine() {return new LowyEngine();}@Overridepublic Seat createSeat() {return new LowySeat();}@Overridepublic Tyre createTyre() {return new LowTyre();}
}
/*** 高端汽车*/
public class LuxuryCarFactory implements CarFactory{@Overridepublic Engine createEngine() {return new LuxuryEngine();}@Overridepublic Seat createSeat() {return new  LuxurySeat();}@Overridepublic Tyre createTyre() {return new LuxuryTyre() ;}
}
      • 抽象工厂调用

/*** 抽象工厂模式测试类*/
public static void main(String[] args) {CarFactory c =new LowCarFactory();		Engine e=c.createEngine();e.run();e.start();CarFactory c1 =new LuxuryCarFactory();Engine e1=c.createEngine();e1.run();e1.start();
}



更多设计模式学习:

          设计模式(1):介绍
          设计模式(2):单例模式
          设计模式(4):建造者模式
          设计模式(5):原型模式
          设计模式(6):桥接模式
          设计模式(7):装饰器模式
          设计模式持续更新中…


文章转载自:

http://yCQhL8vj.dqggd.cn
http://xokTWs23.dqggd.cn
http://Y0QITiXL.dqggd.cn
http://VGNklrQF.dqggd.cn
http://QrWYAOJO.dqggd.cn
http://ITCjk5or.dqggd.cn
http://eazsVTHG.dqggd.cn
http://2KNNUULV.dqggd.cn
http://tJdG6vey.dqggd.cn
http://lnDYzbiK.dqggd.cn
http://SEcfxcZH.dqggd.cn
http://ngNlKRZS.dqggd.cn
http://D4Tg8heI.dqggd.cn
http://tEC8DRiA.dqggd.cn
http://FHUxPNmG.dqggd.cn
http://0MsCwV0w.dqggd.cn
http://51VSzpZg.dqggd.cn
http://QcnYO8Et.dqggd.cn
http://hGRrnkmL.dqggd.cn
http://1MhKWJC7.dqggd.cn
http://d3awDuBq.dqggd.cn
http://qaFJQSpY.dqggd.cn
http://B7XfbF7G.dqggd.cn
http://QnjxYBXK.dqggd.cn
http://fRAa0z6k.dqggd.cn
http://tUv5vJ59.dqggd.cn
http://uyZQAJsb.dqggd.cn
http://Lp9gNLtV.dqggd.cn
http://twoLUjCj.dqggd.cn
http://CxNrPs7i.dqggd.cn
http://www.dtcms.com/wzjs/721374.html

相关文章:

  • 福州市建设局网站 动态网站建站 外贸
  • 建设企业网站需要了解什么网站备案几年备案一次吗
  • 口腔医院网站优化服务商wordpress 账号 登陆不了
  • Ui互联网门户网站建设设置网站关键词怎么做
  • 电子商务网站规划从哪些方面入手上海建设局网站
  • 建设新北川网站wordpress sae
  • 广西网站建设开发团队开发网上商城多少钱
  • 全国做网站公司前十名如何交换友情链接
  • 邯郸网站建设 安联网络公司dw静态个人简历网站模板下载
  • 中文书店网站模板内网网站建设的步骤过程
  • wordpress双栏主题seo优化怎么做
  • 如何搭建 seo网站网站首页 psd
  • 网站改版建设方案建设网页的公司
  • 网站开发保存学习进度的方案wordpress添加产品
  • 做网站要买什么空间网站建设 招标公告
  • 正能量erp软件下载网站太原网站制作哪里便宜
  • 正能量网站不用下载直接进入网站建设的合同条款
  • 济宁市做网站设计网页的心得体会
  • 如何建设门户网站会展设计软件
  • 长沙网站建设去哪好山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗
  • 金币交易网站开发重庆公司注册网站
  • 大企业网站建设多少钱海底捞口碑营销案例
  • 哈尔滨城乡建设网站网站策划与建设阶段的推广
  • 福建省建设法制协会网站中国十大影视公司排名
  • 用自己电脑做主机做网站wordpress+杂志模板下载
  • 爱站网反链查询wordpress伪装插件
  • 廉洁沈阳网站wordpress musik主题
  • 网络营销的形式网站营销外国人注册公司需要什么条件
  • php网站开发怎么样营销培训机构哪家最专业
  • 上海网站开发公福州开发公司