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

    简单工厂模式很容易理解,在项目中用到了一个这样的例子。

    AbstractUMLConnectionModel是一个抽象的父类,它的子类包括:GeneralizationModel,RealizationModel,DependencyModel,AggregationModel,CompositeModel。

    那么好,接下类根据需要我们使用简单工厂实现获得需要的子类对象。(又是父类引用指向子类对象,可见这是多么的重要。)。注意抽象方法的引用也是可以的,接口的引用也可以这样用。

    package com.jenson.vrp.editor.ir.model.operate;
    
    import net.java.amateras.uml.model.AbstractUMLConnectionModel;
    import net.java.amateras.uml.model.AggregationModel;
    import net.java.amateras.uml.model.CompositeModel;
    import net.java.amateras.uml.model.DependencyModel;
    import net.java.amateras.uml.model.GeneralizationModel;
    import net.java.amateras.uml.model.RealizationModel;
    
    public class RelationFactory {
        public static AbstractUMLConnectionModel createRelation(String relationType)
        {
            AbstractUMLConnectionModel connx = null;
            switch (relationType) {
            case "继承":
                connx=new GeneralizationModel();
                break;
            case "实现":
                connx=new RealizationModel();
                break;
            case "依赖":
                connx=new DependencyModel();
                break;
            case "聚合":
                connx=new AggregationModel();
                break;
            case "组合":
                connx=new CompositeModel();
                break;
            default:
                break;
            }
            return connx;
        }
    }
  • 相关阅读:
    模板之st表
    codevs 1163 访问艺术馆
    noip提高组2000 乘积最大
    [HNOI2008]越狱(luogu P3197)
    [ZJOI2009]假期的宿舍(luogu P2055)
    noip普及组2013 车站分级(luogu P1983)
    [HNOI2010]平面图判定
    sql中对于case when...then...else...end的写法和理解
    java中,去除空白的方法
    关于debug时的一些操作
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/SimpleFactory.html
Copyright © 2011-2022 走看看