zoukankan      html  css  js  c++  java
  • 设计模式第一次作业

    1、要求:某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等;用户可以根据要求动态选择日志记录方式。使用Factory模式来设计;如果系统中增加一个日志记录方式—控制台日志记录(ConsoleLog),类图将如何改变?

    主要代码如下:

    // 抽象类工厂
    public  abstract  Factory{
    
    }
    //抽象类日志
    public abstract LOG{
    
    }
    //FileReLog类继承Factory
    public FileReLog extends Factory(
    recordLogs(){
      return FileWrite();
    }
    }
    //DataReLog类继承Factory
    'public DataReLog extends Factory{
    recordLogs(){
    	return DataWrite();
    }
    }
    
    //FileWrite类继承LOG
    public FileWrite extends  LoG{
    	writeLog(){
    		
    	}
    }
    //DataWrite类继承LOG
    public DataWrite extends LOG{
    	WriteLog(){
    		
    	}
    }'
    
    //测试代码
    Factory fa=new FileReLog();
    LOG	log = fa.recordLogs();
    log.FileWrite();
    

    系统中增加一个日志记录方式—控制台日志记录(ConsoleLog)后的类图:

    2、要求:某系统为了改进数据库操作的性能,自定义数据连接对象Connection和语句对象Statement,可针对不同类型的数据库提供不同的连接对象和语句对象;用户可以通过配置文件等方式根据实际需要动态更换系统数据库;使用Abstract Factory模式来设计。

    类图:

    代码:

    public abstract connect{
    	public connect(){};
    }
    public connectA extends connect{
    	connect();
    }
    public connectB extends connect{
    	connect();
    }
    public abstract statemant{
    	public statemant(){};
    };
    public statemantA extends statemant{
    	statemant();
    };
    public statemant extends statemant{
    	statemant();
    };
    
  • 相关阅读:
    游标定位:Cursor类
    拨号操作——android.intent.action.CALL
    按键——Button事件监听器
    文本框——EditText
    配置文件:mainfest.xml
    win7如何设置以管理员身份运行
    随机数:rand()
    std::string 和 CString问题
    文件操作:rewind()
    文件操作:fread()和fwrite()
  • 原文地址:https://www.cnblogs.com/Luffysmile/p/7796010.html
Copyright © 2011-2022 走看看