zoukankan      html  css  js  c++  java
  • 简单工厂模式

    一,概述
      在软件开发的过程中经常会有这种需求,为了达到不同的效果和目的,经常变换类对象,而这些类所要实现的接口对象相对稳定,这种情况就要考虑到简单工厂模式
    二,简单工厂模式的组成:
    1.工厂类:负责根据不同的逻辑产生不同的对象实例
    2.抽象产品类:一般是具体产品类要继承的父类或者是要实现的接口
    3.具体产品类:继承了父类的子类或者是实现了接口的子类,是工厂类要创建的类
    三,实例解说
     描述:公路的收费系统要根据不同的车型收取不同的费用
    1.定义抽象产品接口:
       public interface Icalcute{
       public double calcuteresutl();
    }
    2.具体产品类实现了抽象产品接口
    //车型为car
     public class car:Icalcute{
      public double calcuteresult()
    {
    return 33;
    }
    }
    //车型为bus
      public class bus:Icalcute{
      public double calcuteresult()
    {
    return 100;
    }
    }
    ........可以有多个车型类
    3.工厂类,根据不同的条件生成不同的车型类
    public calss factory{
    ICalcute cal;
    public Calcute GetTypeobject(string type)
    {
    switch(type)
    {
     
      case "car":
      cal=new car();
      break;
      case "bus":
      cal=new bus();
      break;
      ...........
    }
    return cal;  
    }
    }
    客户端代码
    public void main()
    {
     ICalcute cal;
     factory fac=new factory();
     cal=fac.GetTypeobject("car");
     double fee=cal.calcuteresult();
    }
    缺点:违背了开发-封闭原则,如果要增加一个jeep车的收费,要增加一个jeep类,另外还要修改factory工厂类中的代码,增加一个case分支
  • 相关阅读:
    to_char &&to_date
    java中Integer 与 String 类型的 相互 转换
    group by 的用法
    谈 计算时间的天数差
    领域建模
    Java Classloader详解
    阿里巴巴Java招聘
    Maven Archetype
    负载均衡
    Maven
  • 原文地址:https://www.cnblogs.com/ldqwyl/p/2031604.html
Copyright © 2011-2022 走看看